pikachu靶场 :二、XSS 跨站脚本攻击

pikachu靶场 :二、XSS 跨站脚本攻击

  • XSS(跨站脚本)概述
  • 反射型xss
    • get传参
    • post传参
  • 存储型xss
  • DOM型xss

XSS(跨站脚本)概述

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。
一般XSS可以分为如下几种常见类型:

  1. 反射性XSS;
  2. 存储型XSS;
  3. DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。

因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:

输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

反射型xss

get传参

页面输入kobe,有返回,所构造出的链接如下,可见是get形式传参。

https://www.bihuoedu.com/vul/xss/xss_reflected_get.php?message=kobe&submit=submit

pikachu靶场 :二、XSS 跨站脚本攻击_第1张图片
将链接中的kobe参数改为xss代码,如下,成功弹窗。

https://www.bihuoedu.com/vul/xss/xss_reflected_get.php?message=<script>alert(document.cookie)</script>&submit=submit

pikachu靶场 :二、XSS 跨站脚本攻击_第2张图片

post传参

先登录,具有登录的cookie,再输入kobe,发现链接没有变化,所以不再是get传参而是post传参。
pikachu靶场 :二、XSS 跨站脚本攻击_第3张图片
pikachu靶场 :二、XSS 跨站脚本攻击_第4张图片
直接在搜索框里加入xss代码,如果有限制,可以更改html参数或者抓包进行修改绕过。

<script>alert(document.cookie)</script>

是可以得到登录人的cookie的。
pikachu靶场 :二、XSS 跨站脚本攻击_第5张图片

存储型xss

在留言板上留下xss代码,发表留言,代码将插入数据库中,
代码将长期留在这个页面,除非管理员删除该留言,
只要有人访问这个页面,就会执行代码。
pikachu靶场 :二、XSS 跨站脚本攻击_第6张图片
pikachu靶场 :二、XSS 跨站脚本攻击_第7张图片
pikachu靶场 :二、XSS 跨站脚本攻击_第8张图片

DOM型xss

初步观察,点击 click me! 后会出现 what do you see? 的链接按钮,其指向是当前目录/you_input,审查元素时发现onclick后会执行函数 domxss() ,其作用是读取input的值并将其拼接到新创建的link节点中,源码如下:

function domxss(){
	var str = document.getElementById("text").value;
	document.getElementById("dom").innerHTML = "what do you see?";
}
	//试试:'><img src="#" onmouseover="alert('xss')">
	//试试:' οnclick="alert('xss')">,闭合掉就行

pikachu靶场 :二、XSS 跨站脚本攻击_第9张图片
pikachu靶场 :二、XSS 跨站脚本攻击_第10张图片
pikachu靶场 :二、XSS 跨站脚本攻击_第11张图片

你可能感兴趣的:(靶场实战,安全,渗透,pikachu,xss)