iis - 在 IIS 中设置 301 重定向的自定义响应正文

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

在使站点符合 PCI 合规性要求时,我在使用如下所示的 301 重定向进行响应时遇到了已报告的 IIS6 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 扫描,这可能允许在浏览器中注入(inject)脚本,在遇到“位置” header 时不会忽略响应正文。

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

编辑--此外,这会对 SEO 产生影响吗?我假设 Google 等会像大多数浏览器一样忽略 301 重定向的响应正文,但我希望避免因排除响应正文而受到惩罚。

最佳答案

我已经放弃了这个,因为我有兴趣做同样的事情。

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

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

关于iis - 在 IIS 中设置 301 重定向的自定义响应正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23687175/

相关文章:

javascript - IE9 和 JavaScript

wcf - 在 Windows 2008 R2 64 位和 WCF 上运行 Oracle

wcf - 在 IIS 上托管 WCF 服务(找不到资源)

iis-7 - IIS 浏览虚拟目录上的目录问题

c# - 在 IIS 中枚举应用程序池

wcf - 如何在 IIS 6.0 上部署 WCF 服务

c# - 在 AppDomain 已加载到 ASP.NET 中时替换 DLL

asp.net - httpRuntime shutdownTimeout 和 IIS 设置

c# - IIS7 向 URL 添加乱码,导致 CSS 文件出现 404

asp.net - 如果由 http-handler 和 iframe 内部处理,Firefox 不会提供 pdf