DOM XSS funziona su pagine che non usano js?

3

È possibile eseguire un attacco XSS su una pagina statica che non utilizza JavaScript?

    
posta Nikola 15.03.2016 - 20:15
fonte

2 risposte

4

Hai davvero due domande qui.

Does DOM XSS work on pages that don't use js?

Suppongo che intendi basato su DOM X/ , e in tal caso, no. L'XSS basato su DOM richiede che l'input dell'utente venga inserito nel lato client DOM, che avviene tramite JavaScript.

Un semplice esempio è JavaScript che legge parte di un URL e lo scrive nel documento.

Can an XSS attack be done on a static page that doesn't use any JavaScript?

Certo. Se fai eco all'immissione dell'utente nella pagina statica - che, a differenza dell'SSSS basato su DOM, avviene lato server -, un utente può semplicemente aggiungere script tag o immettere un contesto JavaScript tramite vari attributi evento.

Se sai che avrai solo pagine statiche, puoi impedire l'esecuzione di JavaScript iniettato usando una Politica di sicurezza del contenuto . Si noti che è compito del browser applicare effettivamente questo criterio, quindi questo potrebbe non essere d'aiuto con i browser più vecchi e le difese adeguate contro XSS dovrebbero comunque essere applicate.

    
risposta data 15.03.2016 - 23:23
fonte
2

L'attacco DOM XSS richiede che gli elementi DOM siano un attacco riuscito ed è necessario il codice JS. Ora puoi eseguire attacchi XSS alla pagina senza codice JS, questo è possibile utilizzando gli attacchi XSS riflessi o persistenti, ad esempio, hai il campo successivo nel tuo modulo HTML e l'applicazione web riflette il valore su quel campo o ottiene il valore da un database o da un altro tipo di archiviazione dei dati e inserisce tali dati sull'attributo value del campo:

<input id="user" name="user" value="{value_from_server}" />

Puoi inserire qualcosa di simile a questo:

" /><script>alert("XSS");</script><input id="user2" name="user2" value="

Quindi se sostituisci {value_from_server} per il testo sopra, avrai il seguente risultato:

<input id="user" name="user" value=" " /><script>alert("XSS");</script><input id="user2" name="user2" value=" " />

Come puoi vedere, devi solo sapere in che modo l'applicazione web colloca i dati sulla tua pagina web e il resto è solo creatività, in questo caso una pagina web senza codice JS potrebbe essere vulnerabile agli attacchi XSS.

Spero che questa informazione ti aiuti.

Buona fortuna.

    
risposta data 16.03.2016 - 18:06
fonte

Leggi altre domande sui tag