我正在寻找有关 DEBUG HTTP 动词的详细信息。
我很清楚这是用于远程调试 - 尽管我什至不确定它是用于 IIS 还是 ASP.NET...
如果我想直接访问此界面 - 即不通过 Visual Studio,而是手动发送这些命令 - 我需要知道什么?它的命令是什么?
我也对滥用案例感兴趣,如果您有任何相关信息......
只是为了完整起见,在此合并来自的答案什么是非标准 http-verb-debug-used-for-in-asp-net-iis https://stackoverflow.com/questions/2244293/what-is-the-non-standard-http-verb-debug-used-for-in-asp-net-iis/2278934:(感谢@Mark、@Jørn)。
http://support.microsoft.com/kb/937523 http://support.microsoft.com/kb/937523
当客户端尝试自动
在 ASP.NET 2.0 中附加调试器
应用程序,客户端发送一个HTTP
包含 DEBUG 动词的请求。
此 HTTP 请求用于验证
申请的过程是
运行并选择正确的
附加过程。
The DEBUG
动词用于启动/停止远程调试会话。更具体地说,一个DEBUG
请求可以包含带有值的命令标头start-debug
and stop-debug
,但实际的调试是通过RPC协议完成的。
它使用 Windows 身份验证和 DCOM 来实际进行调试(显然,如果您允许 RPC 流量,那么您就会遇到更大的问题)或任何漏洞利用。不过,UrlScan 默认情况下会阻止它。
然而,用以下命令访问 ASP.NET 网站DEBUG
requests 可用于显示 web.config 是否有<compilation debug="true">
。可以使用 telnet、WFetch 或类似的命令来执行测试,方法是发送如下请求:
DEBUG /foo.aspx HTTP/1.0
Accept: */ *
Host: www.example.com
Command: stop-debug
根据是否启用调试,您将得到200 OK
or 403 Forbidden
.
人们普遍认为你永远不应该<compilation debug="true"/>
在生产环境中,因为它对网站的性能有严重影响。我不确定启用调试是否会打开任何新的攻击向量,除非也启用了 RPC 流量,在这种情况下,无论如何您都会遇到更严重的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)