La rimozione dell'interazione utente crea una sandbox sicura che annulla XSS?

2

Diciamo che c'è un servizio online che prende come input una stringa DOM, carica quel DOM in un browser sul proprio server e restituisce uno screenshot.

Sarebbe possibile per il servizio online proteggere completamente l'integrità della macchina host stessa contro gli attacchi XSS?

La mia comprensione è che gli attacchi XSS si basano sull'interazione dell'utente per essere efficaci. Se non ci sono utenti che interagiscono con il browser, e solo gli screenshot sono presi, sicuro che qualsiasi tipo di contenuto pazzo potrebbe essere caricato nel browser, ma la sicurezza dell'host stesso potrebbe essere compromessa?

    
posta Cory Klein 27.05.2016 - 22:26
fonte

1 risposta

1

Mentre c'è un input che chiunque può modificare, non disinfettato e restituito all'utente avremo un vettore XSS.

L'esempio "classico" è il select che riceve l'opzione attraverso l'URL:

...
Select your language:
<select><script>
document.write("<OPTION value=1>"+document.location.href.substring(document.location.href.indexOf("default=")+8)+"</OPTION>");
document.write("<OPTION value=2>English</OPTION>");
</script></select>
...

Quindi, se un utente malintenzionato invece di inviare una risposta standard come:

http://www.some.site/page.html?default=French

Invia una richiesta in questo modo:

http://www.some.site/page.html?default=<script>alert(document.cookie)</script>

I cookie dell'utente verranno visualizzati nell'avviso.

Alcuni collegamenti per riferimento su XSS basato su DOM e su come prevenirlo.

link link

    
risposta data 27.05.2016 - 22:59
fonte

Leggi altre domande sui tag