起因,经过扫描,发现了一个反射型xss的漏洞:
那么,我想,既然存在xss漏洞。如果没有防火墙肯定是直接就利用了,直接插入<img src=x onerror=alert(0)>:
可以看到,漏洞并未被触发,在这里非常奇怪。按道理来说,应该是直接输出我们的语句才对,因为都输出到页面了。我们右边查看源代码:
然后发现第一个输出点被转义了。很奇怪,为什么会爆xss漏洞呢?我们看看第二个输出点:
然后发现,果然是第二个输出点的问题。第二个输出点< >都没有过滤。导致可以直接执行,但是我们需要闭合,所以构造语句如下:
"><img src=x onerror=alert(0)>
然后成功弹出对话框,一般人到这里也就完了。利用成功了嘛,不完你还想干啥。 但是细心的我发现,他弹出的对话框不止一个,后来我仔细看了下最少有五个。
于是,右键,查看源代码进行分析:
然后就成功找到了漏洞触发的点了。 有人肯定会问,就一个xss漏洞,值得这样仔细的测试吗,证明漏洞存在,叫企业自己修复不就完了。
但是在大多数企业,基本上都是你报哪个点,他修复哪个点。他不会去仔细的排查,还有哪些点也触发了相关漏洞。
所以,尽可能的测试全面。不光是对企业负责,也是对自己负责。