citazione XSS riflessa non codificata

2

Sto tentando di sfruttare l'URL con un XSS riflesso come segue:

http://domain.com/vuln_parm=

Il contenuto di vuln_parm viene restituito all'utente come segue:

<div attrib1="" attrib2="" vulnattrib=""></div>

Funziona da Burp:

http://domain.com/vuln_parm="style="background-image:url(someurl)"

come viene restituito all'utente come:

<div attrib1="" attrib2="" vulnattrib=""style="background-image:url(someurl)"></div>

Il problema è che il server non decodifica le virgolette. Con Firefox se invio la stringa, Firefox codifica automaticamente le virgolette come %22 . Il server riflette solo il %22 indietro. Se utilizzo IE (che non codifica virgolette), il server riflette le virgolette come " . Tuttavia, IE rileva correttamente questo come XSS e visualizza IE ha modificato questa pagina per aiutare a prevenire XSS.

Qualche idea?

    
posta Raul Esteban 28.08.2015 - 21:39
fonte

2 risposte

3

Non posso dirti cosa funzionerà perché non ho l'applicazione per testarla da sola. Posso solo suggerire le cose che dovresti provare nella tua risposta.

Prova:

  • Codifica HTML " nell'URL.
  • Codifica doppio URL " nell'URL ( %25%32%32 ).
  • Codifica doppio URL " nell'URL ( %2522 ).
  • Codifica HTML quindi codifica URL.
  • Combinazioni di quanto sopra.
  • Prova gli exploit UTF-7 XSS .
  • Prova a costruire l'URL da un reindirizzamento anziché tramite la barra degli indirizzi del browser. Prova diversi tipi di reindirizzamento: HTTP 3XX, posizione JavaScript (prova a impostare proprietà differenti dell'oggetto posizione ), meta refresh, reindirizzamento tramite Flash / Silverlight).

Scopri come l'applicazione risponde alle sonde di cui sopra. Forse non è possibile perché in questo caso devi assolutamente trovare un modo per sfuggire alla doppia quota per aggiungere il tuo attributo.

    
risposta data 30.08.2015 - 16:40
fonte
0

Il browser IE utilizza la propria funzione di sicurezza per impedire l'XSS. Il filtro XSS, una funzionalità nuova di Internet Explorer 8, rileva JavaScript nelle richieste URL e HTTP POST. Se viene rilevato JavaScript, il filtro XSS cerca le prove di riflessione, le informazioni che verrebbero restituite al sito Web di attacco se la richiesta di attacco è stata inviata immutata. Se viene rilevata una riflessione, il filtro XSS sanifica la richiesta originale in modo che non sia possibile eseguire il JavaScript aggiuntivo.

La risposta alla tua domanda è l'URL che stai cercando di eseguire l'attacco XSS, può essere sfruttabile in quanto il server risponde con lo stesso carico utile richiesto nel parametro vulnerabile.

vai attraverso attacchi XSS UTF-7 in browser moderni

    
risposta data 01.04.2016 - 11:46
fonte

Leggi altre domande sui tag