È possibile eseguire un attacco XSS su una pagina statica che non utilizza JavaScript?
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.
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.
Leggi altre domande sui tag xss