Come vengono rilevati gli scanner di vulnerabilità quando DEBUG è impostato su True nelle applicazioni ASP.NET

10

So come verificare questa impostazione nel codice e so dove cercare il web.config , ma non riesco a trovare informazioni su come uno scanner di vulnerabilità come Qualys potrebbe rilevarlo.

Ho preso in considerazione quanto segue, ma non ho modo di sapere se le mie ipotesi sono utili:

  • Esiste un'intestazione http che viene inviata dal server Web quando Debug=true ?
  • Lo scanner / software provoca intenzionalmente un errore e rileva le informazioni di debug riflesse sul client?
  • Il software è in cerca di richieste a esecuzione prolungata (poiché la modalità debug allunga effettivamente i tempi di risposta prima che si verifichi un timeout)?
posta David Stratton 01.10.2013 - 16:23
fonte

2 risposte

6

L'impostazione dell'attributo debug non comporterà una pagina di errore diversa. Le pagine di errore personalizzate vengono gestite nel web.config nel nodo configuration / system.web / customErrors. Alcune informazioni.

Una possibilità è che lo scanner rilevi questo guardando l'intestazione http Cache-Control . Questa intestazione restituirà private quando sei in modalità di debug e public quando non lo sei. C'è un buon articolo che contiene alcuni di questi che possono essere trovati qui .

Una possibilità più probabile è che stiano facendo una richiesta di DEBUG al sito e controllando di vedere se restituisce 200 o 403. C'è un buon post SO su questo qui .

Anche se l'attributo debug impostato su true può causare problemi di prestazioni, non è l'unica cosa che può causare problemi di prestazioni, quindi sembra che l'utilizzo di questo metodo genererebbe molti falsi positivi.

    
risposta data 01.10.2013 - 21:44
fonte
1

In realtà puoi controllare questo @AbeMiessler

Richiesta HTTP normale:

 GET / HTTP/1.1
 Host: www.test.com
 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0
 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
 Accept-Encoding: gzip, deflate
 Cookie: Token=dfe31f692334663ae9d466662be6d3
 Connection: keep-alive
  • Impostiamo il percorso su "/Test.aspx" o qualche altro nome file che non esiste
  • Aggiungi l'intestazione HTTP "Comando: stop-debug"
  • Metodo impostato su "DEBUG"
  • Rimuovi, se presente, il parametro 'ReturnUrl'

Richiesta modificata:

 DEBUG /Test.aspx HTTP/1.1 HTTP/1.1
 Cookie: Token=dfe31f692334663ae9d466662be6d3
 Content-Length: 0
 Accept: */*
 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64;)
 Host: www.test.com
 Command: stop-debug

Risposta se il debug è abilitato:

HTTP/1.1 200 OK
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Mon, 14 Apr 2014 12:19:45 GMT
Content-Length: 2

OK

Puoileggeredipiùariguardoqui: link

    
risposta data 10.12.2015 - 12:02
fonte

Leggi altre domande sui tag