Quali attacchi XSS non hanno la sconfitta "Reflective XSS Protection"?

4

È passato un po 'di tempo da quando ho giocato con le vulnerabilità di cross-site scripting, ma oggi mi sono imbattuto in un sito web che cercava di provare una vulnerabilità XSS di base.

Così doverosamente digitato:

http://example.com?query=<script>alert('hey!')</script>

Ed è stato piuttosto sorpreso quando I non è stato incontrato con una casella di avviso che mostrava il messaggio "hey!".

Ho controllato la fonte e ho potuto vedere che il codice era stato iniettato chiaramente e quando ho provato qualcosa di più semplice come:

http://example.com?query=<h1>hey!</h1>

Ha iniettato l'HTML come previsto.

Questo è quando ho controllato il mio log degli errori e ho visto questo messaggio (in Chrome):

Refused to execute a JavaScript script. Source code of script found within request

Dopo un po 'di indagini ho scoperto che questa è una funzionalità chiamata " Protezione XSS riflettente "che è stato introdotto nel webkit. Se il codice viene visualizzato sia nella query che nel corpo, non verrà eseguito.

Quindi la mia domanda: quando ho giocato in passato con lo scripting cross-site, questo è fondamentalmente il modo in cui l'ho fatto. Ciò elimina in modo efficace una grande quantità di attacchi XSS o solo quelli primitivi?

    
posta Andy Smith 16.11.2012 - 14:02
fonte

4 risposte

4

Esistono tre principali tipi di XSS:

  • XSS riflesso
  • XSS memorizzato (ovvero XSS persistente)
  • XSS basato su Dom (ovvero XSS lato client)

La protezione XSS riflettente protegge solo dal primo, ma non protegge da XSS o Dom XSS archiviati.

Inoltre, la protezione XSS riflettente può spesso essere aggirata. Non protegge da tutti gli attacchi XSS riflessi. È una mitigazione, non una difesa strong. Pertanto, non devi fare affidamento su di esso per sicurezza: devi ancora correggere ogni vulnerabilità XSS che trovi.

    
risposta data 16.11.2012 - 20:32
fonte
3

link Sono sicuramente dei modi per aggirare il filtro. (Tratto dal sito del blog).

Ci sono sempre dei modi per offuscare il codice. Consulta link per un lungo elenco di possibilità di evasione.

    
risposta data 16.11.2012 - 16:56
fonte
1

Prima di tutto non è implementato in tutti i browser, quindi solo alcuni utenti saranno protetti da alcuni attacchi XSS. Di certo, con il passare del tempo, un numero maggiore di venditori adotterà tale strategia, ma ci saranno molti utenti che usano software obsoleti (e questo è il tipo di vulnerabilità che un utente malintenzionato sta cercando).

Inoltre, anche nell'articolo del blog si afferma che :

We are aware of a few ways to bypass the filter,

e sicuramente la gente troverà più possibilità. Come affermato nel blog, può gestire molti tipi di attacchi XSS, non solo primitivi.

Quindi secondo me costringerà i veri aggressori a sperimentare di più con l'XSS e rendere più difficile la curva di apprendimento per i kiddies dello script

Pensandoci un po 'più avanti voglio aggiungere che, a mio parere, ciò può causare anche danni. Guardalo da questa prospettiva: alcuni sviluppatori possono cadere in una conclusione sbagliata che se un browser già a tutto il lavoro per la prevenzione XSS, perché dovrei preoccuparmi di fare qualsiasi cosa. Gli sviluppatori ordinari potrebbero diventare meno consapevoli di XSS e quando qualcuno troverà un modo per bloccare questa funzione nel browser, i problemi si presenteranno.

P.S grazie per un post interessante

    
risposta data 16.11.2012 - 14:46
fonte
1

Oltre ai potenziali bypass della protezione come menzionato nelle altre risposte, la sezione ovvia è dove il vettore XSS non viene immediatamente restituito nella stessa finestra del browser, che include la maggior parte delle vulnerabilità XSS memorizzate.

Quindi, ad esempio, quando un vettore XSS viene inserito da un utente (ad esempio una casella di commenti) e viene successivamente visualizzato in un'interfaccia amministrativa, il browser degli amministratori non avrebbe alcun modo efficace per sapere che lo script era venuto da un utente piuttosto che essere parte della funzionalità del sito.

    
risposta data 16.11.2012 - 20:23
fonte

Leggi altre domande sui tag