ASP.NET/IIS中使用的非标准HTTP动词“DEBUG”是什么?

前端之家收集整理的这篇文章主要介绍了ASP.NET/IIS中使用的非标准HTTP动词“DEBUG”是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读一个“网络应用安全”公司的报告,他们正在扫描我正在工作的公司的几个网站。从报告看来,似乎没有任何人为的参与,几次尝试使用这样的请求来破坏我们的网站:
DEBUG /some_path/some_unexisting_file.aspx
Accept: */*
More-Headers: ...

我们服务器的结果让我感到惊讶:

HTTP/1.1 200 OK
Headers: ...

由于DEBUG似乎没有在HTTP 1.1 specification的任何地方被提及,我预计结果将是400错误请求或405方法不允许。

earlier question on SO起,我已经知道,DEBUG动词用于ASP.NET应用程序的某种远程调试,但在该问题或其答案中没有很多细节可用。

究竟什么是DEBUG动词?为什么使用这个动词时,应用程序会回答200 OK的无效URL?这是一个安全问题吗?在DEBUG动词周围有任何潜在的安全问题,ASP.NET开发人员/系统管理员应该注意什么?

任何见解/建议/参考将不胜感激。

解决方法

http://support.microsoft.com/kb/937523

When the client tries to automatically attach the debugger in an ASP.NET 2.0 application,the client sends a HTTP request that contains the DEBUG verb. This HTTP request is used to verify that the process of the application is running and to select the correct process to attach.

它使用Windows身份验证和DCOM实际进行调试 – 所以我不知道DEBUG动作本身是一个很大的安全风险(显然,如果你允许RPC流量,那么你有更大的问题)或的任何漏洞。 UrlScan默认阻止它。

我可能会放置一个网络嗅探器来检查什么信息泄漏。

猜你在找的asp.Net相关文章