首先,我不知道这个问题是否已经提到这里,相信我,我已经搜索了。
所以我试着在下面的单引号和双引号中打断字符串;
onclick="window.location='{$url4stat}en'"现在让我们假设像http://example.com/index/这样的now应用程序urls
我能够在/index/路径(即/index/?rand=123 )之后注入随机参数,并包含在响应boby这样的;onclick="window.location='/index/?rand=123&stat=en'"中。
因此,我认为它可能会起作用,以某种方式放置双引号",并查看html响应体是否中断。结果是它被编码为%22 onclick="window.location='/index/?rand=%22&stat=en,所以放置懒惰的"><script>alert(1)</script>有效负载将毫无用处(我已经尝试过了)
但是,使用burpsuite,我能够在发送到webserver之前编辑编码的请求,当在浏览器中打开响应体时,警报就会弹出!这是否意味着它容易受到XSS的影响?如果是的话,我的问题是否可以绕过这个问题?我已经尝试了双重编码,使用十六进制,%23x和许多其他有效载荷,但没有任何工作。原来双编码的有效载荷将保持不变,如果我把%2522的响应体变成onclick="window.location='/index/?rand=%2522&stat=en,没有什么变化,和其他有效载荷一样。看起来只有几个字符这样的", ', >, <,将被编码。如果我遇到IE浏览器,有效载荷就会正常工作。只有Chrome,FF,还没有在Opera和Safari上试过。
将感谢任何建议,技术,有效载荷。
发布于 2014-03-13 12:09:31
听起来它是脆弱的,而且在现代浏览器中,您已经点击了反XSS过滤器。
对于测试,我建议您使用禁用过滤器。
当向客户报告这些问题时,我认为您不能确定用户是否会有这样的浏览器,并且无论如何都要报告。到目前为止,这还可以,尽管我可以看到在将来我需要区分通过过滤器可利用的XSS (高风险)和其他XSS (仍然应该修复,但风险较低)。
https://security.stackexchange.com/questions/53288
复制相似问题