我正在寻找有关DEBUG HTTP动词的详细信息。
我很清楚这用于远程调试 - 虽然我甚至不确定它是用于IIS还是ASP.NET ......

如果我想直接访问此界面 - 即不是通过Visual Studio,而是手动发送这些命令 - 我需要知道什么?有什么命令吗?
如果您有任何相关信息,我也对误用案件感兴趣...

有帮助吗?

解决方案

为了完整起见,请在此处合并来自非标准的http-verb-debug-used-for-in-asp-net-iis :(感谢@Mark,@ J&# 248; RN)。

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

  

当客户端尝试自动时   将调试器附加到ASP.NET 2.0中   应用程序,客户端发送HTTP   请求包含DEBUG动词。   此HTTP请求用于验证   应用程序的过程是   跑步并选择正确的   附加过程。

DEBUG 动词用于启动/停止远程调试会话。更具体地说, DEBUG 请求可以包含一个带有值 start-debug stop-debug 的Command头,但是实际的调试是通过一个RPC协议。

它使用Windows身份验证和DCOM来实际进行调试(显然,如果你允许RPC流量,那么你有更大的问题)或任何漏洞利用。但是,UrlScan默认会阻止它。

但是,使用 DEBUG 请求戳一个ASP.NET网站可以用来显示web.config是否有< compilation debug =" true"> 。可以使用telnet,WFetch或类似方法执行测试,方法是发送如下请求:

DEBUG /foo.aspx HTTP/1.0
Accept: */ *
Host: www.example.com
Command: stop-debug

根据是否启用调试,您将获得 200 OK 403 Forbidden

通常认为您在生产环境中永远不应该有< compilation debug =" true" /> ,因为它会严重影响网站的性能。我不确定启用调试是否会打开任何新的攻击媒介,除非启用了RPC流量,在这种情况下你还有更严重的问题。

其他提示

如果你想进行远程调试,我建议使用debug.writeline和sysinternals中的工具 DebugView 。这使您可以在位置计算机或远程计算机上“监听”调试语句,前提是您具有必要的访问权限。

我不能直接回答关于DEBUG http的部分,因为我对它不熟悉。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top