65.9K
CodeProject 正在变化。 阅读更多。
Home

服务器错误响应漏洞——HTTP 500

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2011年3月1日

CPOL

1分钟阅读

viewsIcon

20560

服务器错误响应漏洞——HTTP 500

几周前,我的一款用Classic ASP编写的遗留Web应用程序进行了一次安全扫描/评估。报告指出该应用程序存在服务器错误响应漏洞。我已经配置了IIS,将HTTP 500 - 内部服务器错误重定向到自定义错误页面。用户看到的都是自定义错误页面,而不是错误详情。那么,我们遗漏了什么?我们使用Fiddler开始调试应用程序,发现应用程序返回的状态码是500,而不是200。

图 1

Status code 500

报告指出,这种暴露将允许攻击者区分有效的和无效的请求尝试。在花了一些时间研究解决方案后,我找到了这篇文章 "网站管理员如何排查IIS 4.0或IIS 5.0上的“HTTP 500 - 内部服务器错误”错误消息"。我在自定义错误页面中已经有了错误日志记录机制、电子邮件通知等,最简单的解决方案是在自定义错误页面的顶部添加以下行代码:

列表 1
Response.Clear()
Response.Status ="200 OK"

第一行将清除任何缓冲的HTML输出,并确保页面显示一个干净的错误页面。第二行指定服务器返回的状态行的值。再次加载引发HTTP 500 - 内部服务器错误的页面,我们应该看到类似图2的结果。

图 2

Status code 500

如果您的网站正在接受审计,并且遇到这种情况,这可能是一种解决方案。希望有人觉得这些信息有用。

参考文献

© . All rights reserved.