DEBUGHTTP動詞の詳細を探しています。
これがリモートデバッグに使用されていることは明らかですが、IIS用かASP.NET用かはわかりません...
このインターフェイスに直接アクセスする場合(つまり、Visual Studioを介さずに、これらのコマンドを手動で送信する場合)、何を知る必要がありますか?そのためのコマンドは何ですか?
誤用の場合にも興味があります。何か情報があれば...
DEBUGHTTP動詞の詳細を探しています。
これがリモートデバッグに使用されていることは明らかですが、IIS用かASP.NET用かはわかりません...
このインターフェイスに直接アクセスする場合(つまり、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 アプリケーションでデバッガーを自動的にアタッチしようとすると、クライアントは DEBUG 動詞を含む HTTP 要求を送信します。この HTTP 要求は、アプリケーションのプロセスが実行されていることを確認し、接続する正しいプロセスを選択するために使用されます。
動詞は、DEBUG
リモート デバッグ セッションを開始/停止するために使用されます。より具体的には、DEBUG
要求には値start-debug
とを含む Command ヘッダーを含めることができますstop-debug
が、実際のデバッグは RPC プロトコルを介して行われます。
Windows認証とDCOMを使用して実際にデバッグを行います(明らかに、RPCトラフィックを許可している場合は、より大きな問題が発生します)またはエクスプロイト。ただし、UrlScan はデフォルトでブロックします。
ただし、要求で ASP.NET Web サイトをDEBUG
突っ込むと、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 については詳しくないので直接お答えできません。