質問

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

このインターフェースに直接アクセスしたい場合-つまり、Visual Studio経由ではなく、これらのコマンドを手動で送信する場合-何を知る必要がありますか?コマンドは何ですか?
誤用のケースにも興味があります。もしあなたがその情報を持っているなら...

役に立ちましたか?

解決

完全を期すために、 what-is-the-non-standard-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動詞は、リモートデバッグセッションを開始/停止するために使用されます。具体的には、start-debugリクエストには値stop-debugおよび<compilation debug="true">のコマンドヘッダーを含めることができますが、実際のデバッグはRPCプロトコルを介して行われます。

Windows認証とDCOMを使用して実際にデバッグを実行します(もちろん、RPCトラフィックを許可している場合は、より大きな問題が発生します)。ただし、URLScanはデフォルトでそれをブロックします。

ただし、200 OKリクエストでASP.NET Webサイトを突くことを使用して、web.configに403 Forbiddenがあるかどうかを明らかにすることができます。テストは、次のようなリクエストを送信することにより、telnet、WFetchなどで実行できます。

DEBUG /foo.aspx HTTP/1.0
Accept: */ *
Host: www.example.com
Command: stop-debug

デバッグが有効かどうかに応じて、<compilation debug="true"/>または<=>が表示されます。

Webサイトのパフォーマンスに重大な影響があるため、運用環境では<=>を使用しないでください。デバッグを有効にすると、RPCトラフィックも有効にしない限り、新しい攻撃ベクトルが開かれるかどうかわかりません。その場合、とにかく深刻な問題が発生します。

他のヒント

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

DEBUG httpについては、なじみがないので直接答えることはできません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top