referrer che controlla come difesa per l'attacco XSS

3

Dopo aver letto la domanda sul referrer e risposta di @DW, non ho capito la seguente parte:

XSS defense. Strict referer checking can make reflective XSS attacks harder, because other sites can't trick the victim's browser into visiting the vulnerable URL.

Non l'ho capito. Quindi, se sul mio sito ho implementato il controllo dei referrer e mi ha reindirizzato a una pagina specifica se provengo da qualcos'altro al di fuori del mio sito, come mi aiuta con gli attacchi XSS.

Forse ho frainteso qualcosa e mi dispiace anche se è ovvio per qualcuno.

    
posta Salvador Dali 22.11.2012 - 18:09
fonte

5 risposte

4

Molte delle contromisure contro la falsificazione delle richieste cross-site renderanno più difficile l'XSS riflettente da sfruttare ma non impossibile. Potrebbe ancora essere possibile sfruttare uno di questi difetti con il clickjacking o altri metodi . Anche il clickjacking e altri vettori dovrebbero essere corretti, ma non è una soluzione semplice o infallibile se paragonata alla validazione / sanificazione dell'input.

Ci sono problemi con l'intestazione del referente come misura di sicurezza. Se la richiesta proviene da una pagina HTTPS che passa a una pagina HTTP, Referer sarà assente. L' intestazione di origine è stata creata per risolvere questo problema. Un OWASP A10: reindirizzamenti e inoltro non convalidati potrebbe anche essere utilizzato per bypassare un controllo referer.

    
risposta data 23.11.2012 - 03:09
fonte
3

La protezione dei referer non è infallibile se hai altre vulnerabilità sul sito.

Se hai un reindirizzamento aperto sul tuo sito (o anche uno con i controlli per vedere se il link è interno), possiamo inserire l'URL vulnerabile in questo reindirizzamento e gli utenti vengono inviati alla pagina vulnerabile con un referente (interno) corretto.

    
risposta data 23.11.2012 - 15:40
fonte
2

Il controllo dei referenti aiuterà con alcune classi di XSS - XSS riflesso e DOM XSS ma non avrà alcun effetto sull'XSS memorizzato .

    
risposta data 23.11.2012 - 00:36
fonte
2

Nota: farò una risposta poiché la risposta corrente accettata in realtà non ha risposto alla domanda.

L'XSS riflessivo implica fondamentalmente l'ingannare una vittima per fare clic su un link al tuo sito web:

  • Un utente malintenzionato può inviare a una vittima il link your-website.com/query?<script>alert('hacked!');evil();</script>

  • evil.com può collegarsi a your-website.com/query?<script>alert('hacked!');evil();</script> e ingannare una vittima facendola clic.

Se il tuo sito web esegue un rigoroso controllo dei referrer, rifiuterà richieste come quelle sopra.

Naturalmente, se il tuo sito web consente agli utenti di pubblicare link, un utente malintenzionato può pubblicare il link your-website.com/query?<script>alert('hacked!');evil();</script> sul tuo sito web. Il rigoroso controllo dei referrer fallirà, poiché il referrer è il tuo sito web.

    
risposta data 06.06.2014 - 18:55
fonte
0

Penso che sia in realtà abbastanza semplice: dal momento che la pagina viene reindirizzata a, accetta solo i referrer dal tuo sito (ovvero: dominio), XSS è più difficile (è consentito un solo sito).

Ma ciò avrebbe il lato negativo che non è possibile accedere a quella pagina dall'esterno, solo il referrer - rendendo la leggibilità di url ad esempio piuttosto complicata (ma gli svantaggi sono ben spiegati da D.W.).

un esempio: di avere un blog l'accesso diretto al blog / post / id / 12 non è consentito (referrer checker), ma è consentito l'accesso al perma-link del post (blog / post / perm / 12). Il perma-link serve solo il referrer, il referrer reindirizza al post (blog / post / id / 12) - et voilà!

    
risposta data 22.11.2012 - 18:19
fonte

Leggi altre domande sui tag