【问题标题】:Set Custom Response Body for 301 Redirect in IIS在 IIS 中为 301 重定向设置自定义响应正文
【发布时间】:2014-07-04 10:16:40
【问题描述】:

在使网站符合 PCI 合规性时,我遇到了一个报告的 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 扫描,这可能允许在遇到“位置”标头时不会忽略响应正文的浏览器中进行脚本注入。

为了解决这个问题,我想我可以添加/更改重定向规则以过滤来自查询字符串的潜在危险文本(我真的不想这样做)或更改在正文中发送的文本301重定向。我宁愿在响应正文中不发送任何内容,也不愿尝试在我的重定向规则中考虑攻击。如何为 301 重定向自定义正文中返回的文本?我尝试通过 IIS 添加自定义错误页面,但它似乎不支持 301 的自定义方法。我目前需要它在 IIS6 和不久的将来在 IIS7+ 中工作,因此欢迎任何适用于其中一个或两个版本的解决方案。

编辑--此外,这会产生 SEO 后果吗?我假设谷歌等忽略了 301 重定向的响应正文与大多数浏览器相同,但我想避免因排除响应正文而受到惩罚。

【问题讨论】:

    标签: iis iis-7 iis-6 xss pci-compliance


    【解决方案1】:

    因为我有兴趣做同样的事情,所以我遇到了这个问题。

    我最终使用Outbound rule 来更改正文,以便删除任何相关的 IP 地址等。

    仍然有兴趣知道是否有更好的东西。

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 2016-01-27
      • 2012-02-20
      • 2011-08-24
      • 2015-04-07
      • 1970-01-01
      • 2012-12-14
      • 2019-05-30
      • 2012-06-05
      相关资源
      最近更新 更多