5

DEBUGHTTP動詞の詳細を探しています。
これがリモートデバッグに使用されていることは明らかですが、IIS用かASP.NET用かはわかりません...

このインターフェイスに直接アクセスする場合(つまり、Visual Studioを介さずに、これらのコマンドを手動で送信する場合)、何を知る必要がありますか?そのためのコマンドは何ですか?
誤用の場合にも興味があります。何か情報があれば...

4

2 に答える 2

6

完全を期すために、 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 トラフィックも有効にしない限り、デバッグを有効にすることで新しい攻撃ベクトルが開かれるかどうかはわかりません。

于 2010-02-17T07:25:14.733 に答える
0

リモート デバッグを行いたい場合は、 debug.writeline と sysinternals DebugViewのツールを利用することをお勧めします。これにより、必要なアクセス権があれば、ロケーション マシンまたはリモート マシンでデバッグ ステートメントを「聞く」ことができます。

DEBUG http については詳しくないので直接お答えできません。

于 2009-01-07T01:31:54.437 に答える