ASP.NET / IIS远程调试 - DEBUG动词
-
03-07-2019 - |
题
我正在寻找有关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的部分,因为我对它不熟悉。