XSS nella richiesta GET non decodificata sul back-end

1

Quindi sono abbastanza sicuro di conoscere la risposta a questa domanda, ma voglio essere sicuro al 100%, quindi sto cercando qualche input qui. Una vulnerabilità è stata segnalata a un mio sito che assomiglia a questo:

GET mysite.com/page<script>alert('XSS');</script>

Se usi la curl puoi vedere il payload nella risposta, allo stesso modo, se intercetti una richiesta del browser con un proxy e la modifichi al payload sopra che verrà eseguito.

Tuttavia, il back-end non sta decodificando l'URL. Se questo link viene pubblicato su alcuni forum e cliccato, il browser codificherà l'url e la risposta sarà simile a questa:

.... mysite.com/page%3Cscript%3Ealert(%27XSS%27)%3B%3C%2Fscript%3E ....

Questo ovviamente non viene eseguito. Per me, questo non costituisce una minaccia di sorta perché l'unico modo per eseguirlo con successo è con un attacco MITM. Se c'è qualcuno seduto sulla rete che può vedere il traffico e modificarlo, non ci sarebbe motivo di sfruttare XSS perché hai tutto quello che vuoi comunque.

Questa è un'analisi corretta? Esiste comunque la possibilità che un utente faccia clic su un link o pubblichi un modulo che non codifichi l'URL di cui non sono a conoscenza?

    
posta user3632719 31.03.2016 - 21:03
fonte

2 risposte

2

La tua analisi non è corretta.

Non tutti i browser lo fanno, in quanto alcuni googling sputano un post del blog eccessivo che sembra pertinente.

Il post del blog è vecchio e IE è vecchio, ma questa dovrebbe essere una prova sufficiente che non tutti i browser codificano come previsto.

Quindi: si tratta di una vera vulnerabilità , pone un filo ai tuoi utenti .

    
risposta data 31.03.2016 - 21:27
fonte
-1

Stai confondendo cos'è XSS e cosa fa, suggerisco leggendo quanto segue . L'XSS è in esecuzione sul sistema del visualizzatore, non sul server. L'obiettivo è quello di sfruttare il tuo server per disaffezionare chiunque lo visiti. Spieghiamo con un esempio: un utente malintenzionato inietta codice dannoso da sfruttare, ad esempio IE8. Quando un utente visita il vostro server, o un forum, o viene ingannato ad aprire il link (se hanno fiducia il vostro sito / visitare il vostro sito) codice verrà eseguito sul proprio sistema, e se il loro browser è vulnerabile, possono ora essere sfruttato a causa della il tuo sito.

Ora, raffiniamo ulteriormente questo in arma, in cui non hai bisogno che qualcuno faccia clic su un link. Versioni precedenti di Macromedia Flash avevano un comando chiamato "getURL" che costringeva un browser ad aprire un periodo di pagina. A differenza di java / javascript, non ti avvisava che si apriva una pagina. Cosa significa? Se il tuo sito web ha permesso di includere l'embedding flash animato, un utente malintenzionato potrebbe facilmente attivarlo senza alcun intervento da parte dell'utente.

L'attacco (XSS) non è mirato al tuo server, è rivolto a qualcuno che sta visitando il tuo server.

    
risposta data 31.03.2016 - 21:25
fonte

Leggi altre domande sui tag