Ho trovato un XSS riflesso in un'applicazione durante un test, in cui definisco la stringa passata a:
<script language='JavaScript'>
document.location='/this-is-my-input'
</script>
Si verifica qualche sanificazione dell'input, ad esempio la mia stringa viene registrata solo dopo il primo /
. Quindi sono riuscito a sfuggire al comando document.location dalla codifica URL /'//\nalert(1)
, che esegue alert(1)
, ma immediatamente reindirizza alla root /
dell'applicazione web.
C'è qualcosa che posso fare per impedire la modifica della posizione del documento?
modifica: con l'input utente sopra menzionato, il codice appare come segue:
<script language='JavaScript'>
document.location='/'//
alert(1)//'
</script>