Qual è la necessità di; (1 in questo payload XSS?

5

In un attacco XSS (proof of concept per i motivi del test della penna), la seguente stringa viene aggiunta ad un URL:

;alert(String.fromCharCode(88,83,83));(1

Capisco cosa fa ;alert(String.fromCharCode(88,83,83)) (crea solo una finestra di avviso che dice "XSS"). Quello che non capisco è il motivo per cui ha bisogno del ;(1 perché funzioni.

Qual è la necessità di quell'ultima porzione di testo? Inoltre, perché il numero 1? Ho provato lettere e numeri diversi ed entrambi hanno funzionato.

    
posta Michael 05.07.2017 - 17:39
fonte

1 risposta

1

Per quanto mi riguarda, il

; in ;(1 is just for ending the alert tag.

E poiché non hai menzionato in quale contesto stai usando questo payload, è meglio dire che ( sta semplicemente iniziando perché ci deve essere un altro ) dopo di ciò in modo che le due parentesi possano corrispondere .

Also, as you are concerned about 1, I think, you can write anything there "aaa" or "blahblahblah" will also work.

P.S. Tu stesso hai menzionato nella domanda che entrambi i numeri e le stringhe hanno funzionato. Quando si utilizza questo payload, è sufficiente controllare la risposta dove viene inserita. In modo che tu possa vedere da solo come viene usata una parentesi per chiudere l'altra per fare una dichiarazione valida. Cin cin ..:)

    
risposta data 16.09.2017 - 19:51
fonte

Leggi altre domande sui tag