在将站点引入PCI Compliance时,我遇到了一个报告的IIS6 301重定向漏洞,当使用301重定向进行响应时,如下所示:
HTTP/1.1 301 Moved Permanently
Date: Thu, 15 May 2014 18:37:36 GMT
Server: Microsoft-IIS/6.0
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 251
Location: http://www.xxxxxx.com/no5_such3_file7.pl?"><script>alert(12345);</script>
<html><body>
The requested resource was moved. It could be found here:
<a href="http://www.xxxxxx.com/no5_such3_file7.pl?"><script>alert(12345);</script>">
http://www.xxxxxx.com/no5_such3_file7.pl?><script>alert(12345);</script></a>
</body></html>根据PCI扫描,这可能允许在浏览器中插入脚本,在遇到“location”报头时不会忽略响应的正文。
为了解决这个问题,我想我可以添加/修改重定向规则来过滤查询字符串中潜在的危险文本(我并不真的想这样做),或者修改301重定向正文中发送的文本。我宁可不在响应正文中发送任何内容,也不愿尝试在我的重定向规则中考虑攻击。如何定制301重定向body中返回的文本?我尝试过通过IIS添加一个自定义错误页面,但它似乎不支持301的自定义方法。我目前需要在IIS6和IIS7+中工作,所以欢迎任何适用于其中一个或两个版本的解决方案。
编辑--另外,这会有SEO的后果吗?我假设Google等忽略301重定向的响应体,就像大多数浏览器一样,但我不想因为排除响应体而受到惩罚。
发布于 2017-03-23 15:44:58
https://stackoverflow.com/questions/23687175
复制相似问题