Modo efficiente per trovare le vulnerabilità XSS?

5

Modo manuale (affidabile) : inserisci una stringa contenente caratteri che hanno un significato speciale in HTML in alcuni parametri della richiesta HTTP, cerca questa stringa nella risposta HTTP (e possibilmente) in altri punti in cui è resa . Tuttavia, in questo modo è molto lungo poiché tutte le azioni come inserire gli input nei parametri e trovare quelle stringhe nelle risposte HTTP vengono eseguite manualmente.

Modo automatico (veloce) : esegui scanner di sicurezza come Arachni. Ma sembra (dopo aver visto il codice) che troverà vulnerabilità solo in contesti usuali e non tratterà in particolare i valori CSS, il codice JS ecc.

Quindi quale è un modo più efficiente (veloce e affidabile) per trovare le vulnerabilità XSS? Sono interessato a cambiare la modalità manuale in semi-automatizzata per rendere più veloce il processo

    
posta Andrei Botalov 20.09.2012 - 11:04
fonte

4 risposte

5

In termini di ricerca di una gamma più ampia di problemi XSS che, da quello che ho visto, è realmente dipendente dallo scanner (ottimo punto di partenza per questo qui ) e nessuno di essi sarà perfetto (es. Ci saranno sempre casi nella scansione black-box dove un tester manuale troverà un problema che gli scanner mancheranno). Alcuni hanno una gamma più ampia di vettori e tecniche rispetto ad altri.

Se stai cercando di ampliare la copertura degli strumenti automatici, puoi aggiungere strumenti casella grigio / bianco in quanto possono trovare problemi che sono più difficili da individuare con un approccio black-box. Ad esempio, Brakeman per le applicazioni Ruby on Rails ha rilevamento per problemi XSS.

Anche altri strumenti specialistici come @Tate Hansen menzionano sopra Dominator per problemi con DOMXSS.

Essenzialmente, come con la maggior parte delle cose in sicurezza, non c'è un proiettile d'argento. Puoi migliorare la copertura automatizzata combinando più strumenti e approcci, sebbene ci siano alcune aree che sono ancora meglio individuate manualmente.

    
risposta data 21.09.2012 - 09:54
fonte
6

DOMinator Pro è un ottimo strumento semi-automatico per l'identificazione di DOM XSS.

What is DOMinator?
DOMinator is a Firefox based software for analysis and identification of DOM Based Cross Site Scripting issues (DomXss). It is the first runtime tool which can help security testers to identify DomXss.

How it works?
It uses dynamic runtime tainting model on strings and can trace back taint propagation operations in order to understand if a DomXss vulnerability is actually exploitable.

    
risposta data 20.09.2012 - 16:16
fonte
2

Se stai testando la tua app o stai testando un'app per la quale hai il codice sorgente, il modo migliore per farlo è una combinazione di Manual + Automated. Prova a utilizzare uno strumento di analisi statico sul codice sorgente. Dovrebbe trovare alcune vulnerabilità XSS (se presenti). Ma tieni presente che potrebbero esserci diversi falsi positivi, a seconda dello strumento che usi.

Successivamente, test manuale - Probabilmente il più efficiente (se sai cosa stai facendo). XSS non è semplicemente un'iniezione di <script>alert('hi')</script> in una casella di testo per vedere se viene riflessa (o archiviata). Ci sono dei vettori di gazillion che devi controllare. Utilizzare un cheatsheet XSS nuovo cheatsheet XSS? per questo scopo. Ci saranno molti tentativi falliti, ma l'iniezione di qualcosa, il controllo della pagina HTML di ritorno e la ripetizione di questo processo dopo la modifica del vettore produrranno risultati.

    
risposta data 21.09.2012 - 04:00
fonte
1

Argomento interessante.

XSS rappresenta una sfida interessante. I test con strumenti automatici possono essere approssimativi. Il motivo è che ci sono molti potenziali attacchi in modo che gli strumenti selezionino alcuni di essi per evitare scansioni infinite.

Abbiamo scoperto che il profiling del parametro prima di effettuare attacchi selettivi può aumentare notevolmente la precisione.

L'altra cosa divertente da tenere a mente è che molti browser moderni bloccano molti di questi attacchi che portano ad argomenti affascinanti con gli sviluppatori su quale percentuale di browser deve essere sfruttato un attacco prima di risolverlo.

    
risposta data 05.10.2012 - 05:00
fonte

Leggi altre domande sui tag