我正在查找有關DEBUG HTTP動詞的詳細信息。
我很清楚,這是用於遠程調試 - 雖然我甚至不確定它是否適用於IIS或ASP.NET ...ASP.NET/IIS遠程調試 - DEBUG動詞
如果我想直接訪問此接口 - 即不通過Visual Studio ,但手動發送這些命令 - 我需要知道什麼?它的命令是什麼?
我也有興趣在誤操作的情況下,如果您有任何信息......
我正在查找有關DEBUG HTTP動詞的詳細信息。
我很清楚,這是用於遠程調試 - 雖然我甚至不確定它是否適用於IIS或ASP.NET ...ASP.NET/IIS遠程調試 - DEBUG動詞
如果我想直接訪問此接口 - 即不通過Visual Studio ,但手動發送這些命令 - 我需要知道什麼?它的命令是什麼?
我也有興趣在誤操作的情況下,如果您有任何信息......
爲了完整起見,請在此整理來自what-is-the-non-standard-http-verb-debug-used-for-in-asp-net-iis的答案:(謝謝@Mark,@Jørn)。
http://support.microsoft.com/kb/937523
當客戶端會嘗試自動 附加調試器在ASP.NET 2.0 應用,客戶端發送一個HTTP請求 包含DEBUG動詞。 該HTTP請求用於驗證 ,該應用程序的進程是 正在運行並選擇要附加的正確的 進程。
DEBUG
謂詞用於啓動/停止遠程調試會話。更具體地說,DEBUG
請求可以包含一個值爲start-debug
和stop-debug
的命令頭,但實際的調試是通過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通信,在這種情況下,無論如何您都會遇到更嚴重的問題。
關於「誤用案例」:http://stackoverflow.com/questions/2244293/what-is-the-non-standard-http-verb-debug-used-for-in-asp-net-iis – 2010-02-16 12:07:38