Domanda

Sto cercando i dettagli sul verbo HTTP DEBUG.
È chiaro per me che questo viene utilizzato per il debug remoto, anche se non sono nemmeno sicuro che sia per IIS o ASP.NET ...

Se voglio accedere direttamente a questa interfaccia, ovvero non tramite Visual Studio, ma inviando questi comandi manualmente, cosa devo sapere? Quali sono i comandi per questo?
Sono anche interessato a casi di uso improprio, se hai informazioni su questo ...

È stato utile?

Soluzione

Solo per completezza, consolidando qui le risposte da what-is-the-non-standard-http-verbo-debug-used-for-in-asp-net-iis : (grazie @Mark, @J < !> # 248; rn).

http://support.microsoft.com/kb/937523

  

Quando il client prova automaticamente   collegare il debugger in un ASP.NET 2.0   applicazione, il client invia un HTTP   richiesta che contiene il verbo DEBUG.   Questa richiesta HTTP viene utilizzata per verificare   che è il processo dell'applicazione   in esecuzione e per selezionare il corretto   processo da allegare.

Il verbo DEBUG viene utilizzato per avviare / interrompere sessioni di debug remote. Più specificamente, una start-debug richiesta può contenere un'intestazione Command con valore stop-debug e <compilation debug="true">, ma il debug effettivo viene eseguito tramite un protocollo RPC.

Utilizza l'autenticazione di Windows e DCOM per eseguire effettivamente il debug (ovviamente, se stai consentendo il traffico RPC, allora hai problemi più grandi) o di eventuali exploit. UrlScan lo blocca per impostazione predefinita, tuttavia.

Tuttavia, è possibile utilizzare un sito Web ASP.NET con le richieste 200 OK per rivelare se web.config ha 403 Forbidden. Il test può essere eseguito con telnet, WFetch o simili, inviando una richiesta come questa:

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

A seconda che il debug sia abilitato o meno, otterrai <compilation debug="true"/> o <=>.

È generalmente accettato che non si dovrebbe mai avere <=> in un ambiente di produzione, poiché ha gravi implicazioni per le prestazioni del sito Web. Non sono sicuro che se il debug sia abilitato apra nuovi vettori di attacco, a meno che non sia abilitato anche il traffico RPC, nel qual caso hai comunque problemi più seri.

Altri suggerimenti

Se si desidera eseguire il debug remoto, suggerirei di utilizzare debug.writeline e lo strumento da sysinternals DebugView . Ciò consente di "ascoltare" le dichiarazioni di debug sul computer di localizzazione o su un computer remoto, purché si disponga dell'accesso necessario.

Non posso rispondere direttamente alla parte su DEBUG http perché non ho familiarità con esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top