我正在寻找有关DEBUG HTTP动词的详细信息.
我很清楚这用于远程调试 - 虽然我甚至不确定它是用于IIS还是ASP.NET ...
如果我想直接访问此界面 - 即不是通过Visual Studio,而是手动发送这些命令 - 我需要知道什么?有什么命令吗?
我也对滥用案件感兴趣,如果你有任何相关的信息......
只是为了完整性,在这里整合来自非标准的http-verb-debug-used-for-asp-net-iis的答案:(感谢@Mark,@Jørn).
http://support.microsoft.com/kb/937523
当客户端尝试在ASP.NET 2.0应用程序中自动附加调试器时,客户端会发送包含DEBUG谓词的HTTP请求.此HTTP请求用于验证应用程序的进程是否正在运行,以及选择要附加的正确进程.
该DEBUG
动词用于启动/停止远程调试会话.更具体地,DEBUG
请求可以包含与值的命令报头start-debug
和stop-debug
,但实际调试经由RPC协议完成的.
它使用Windows身份验证和DCOM来实际进行调试(显然,如果你允许RPC流量,那么你有更大的问题)或任何漏洞利用.但是UrlScan默认会阻止它.
但是,DEBUG
可以使用带有请求的ASP.NET网站来显示web.config是否具有
.可以使用telnet,WFetch或类似方法执行测试,方法是发送如下请求:
DEBUG /foo.aspx HTTP/1.0 Accept: */ * Host: www.example.com Command: stop-debug
根据是否启用调试,您将获得200 OK
或403 Forbidden
.
人们普遍认为,您应该永远不会
进入生产环境,因为它会严重影响网站的性能.我不确定启用调试是否会打开任何新的攻击媒介,除非启用了RPC流量,在这种情况下,无论如何你都会遇到更严重的问题.