前言
xss作为江湖上一种常见的攻击手段,一直有广泛的使用。然而怎么样发现一个交互的地方是否会有xss漏洞呢?有一些通用的思路。一下就是思路的总结。
攻击代码
首先,找到一个你觉得可能会有问题的地方。然后提交这一段代码,如果出现了弹窗,或者打开开发者,发现报了错。那么恭喜你~找到一个xss漏洞啦。
payload分析
上面的那段代码,刚拿来看的时候,可能会恨疑惑这是些什么东西。这是因为,这一长串代码讲所有可能的场景都包含在内了。首先,我们并不知道我们提交之后,服务器返回的response会出现在什么地方。一般来说,会出现在一下几个地方:
- html标签之间 -》</防过滤/div id=‘body’ >[输出]< /防过滤/ /div>
- html标签之内 -》</防过滤/input type=”text” value=”[输出]” />
- 成为javascript代码-》</防过滤/script>a=”[输出]”;…<//script>
- 成为css代码-》</防过滤/style>body{font-size:[输出]px;…}<//style>
如果输出结果在标签之间
场景1
</防过滤/div id=‘body’ >[输出]< /防过滤/ /div> 如果我们输入
, 那么标签就会成为
,攻击成功~
场景2
如果是什么</防过滤/title></ /防过滤/title>< /防过滤/textarea></ /防过滤/textarea> 那么输入