Modifica la variabile Javascript con l'exploit dell'URL

2

È possibile impostare una variabile javascript attraverso l'URL?

Ecco un esempio del codice che sto cercando di modificare:

<script type="text/javascript">

var x = 0;

</script>

C'è un modo per modificare tale variabile attraverso un browser, ad esempio www.somewebsite.com + (qualcosa che cambia la variabile 'x') ?

correlati a Scambio stack: link

    
posta Josh B. 18.08.2016 - 18:00
fonte

2 risposte

4

No, questo non è possibile senza una vulnerabilità XSS . Se una cosa del genere fosse generalmente possibile, XSS sarebbe dilagante e potresti eseguire qualsiasi codice arbitrario su qualsiasi pagina, il che sarebbe un male.

Ora se il codice aveva un vettore di attacco XSS riflesso o un vettore di attacco XSS basato su DOM, l'URL potrebbe essere utilizzato per fornire un payload JavaScript. Naturalmente, ciò sarebbe possibile solo se il codice lato server o JavaScript avesse una tale vulnerabilità di sicurezza (se il tuo codice lo rende possibile, allora dovresti correggerlo).

    
risposta data 18.08.2016 - 19:46
fonte
1

Gli attacchi simili sono possibili, senza XSS .

Dì che il codice era

<script type="text/javascript">

var x = 0;

// Some processing

x=395;

</script>

Se l'autore dell'attacco desidera che il valore di x non sia influenzato da x=395 , potrebbe utilizzare il filtro anti-XSS del browser per filtrare il codice.

es. Creando un link creato per inviare alla vittima:

example.com/page.html?param=x%3d395%3b

Il filtro XSS rileva che il valore del parametro si riflette nell'output ( x=395; ) e ne blocca l'esecuzione.

Pertanto, il valore originale di x rimarrà.

Per mitigare questo, imposta il filtro XSS del browser dell'utente per bloccare piuttosto che filtrare usando le intestazioni di sicurezza :

X-XSS-Protection: 1; mode=block
    
risposta data 19.08.2016 - 15:02
fonte

Leggi altre domande sui tag