Esempio: test.php?p=test
fornisce output:
<p style="...">test</p>
Posso iniettare qualcosa di diverso da "<", quando iniettato sono stato reindirizzato. Quindi può essere sfruttato?
Esempio: test.php?p=test
fornisce output:
<p style="...">test</p>
Posso iniettare qualcosa di diverso da "<", quando iniettato sono stato reindirizzato. Quindi può essere sfruttato?
Come ha detto Ammar, in questa situazione specifica non penso che l'XSS sia possibile. Tuttavia se visitando test.php?p=test
ha reso il seguente HTML:
<p style="..." title="test">Some other stuff</p>
Un utente malintenzionato potrebbe potenzialmente utilizzare un URL come questo:
test.php?p=test" onmouseover="alert('xss')
di rendering:
<p style="..." title="test" onmouseover="alert('xss')">Some other stuff</p>
per eseguire un attacco XSS. Non funziona nella tua situazione, ma dovrebbe illustrare il fatto che la rimozione delle parentesi non è sufficiente per prevenire XSS.
Come altri commenti menzionati, devi essere in grado di iniettare '<' in questo particolare esempio. Vorrei provare la codifica Unicode (entità html).
Ad esempio, iniettare <test
e vedere se la risposta del server contiene <test
.
A volte funziona anche la codifica degli URL. Ad esempio, alcuni siti contengono caratteri di lista nera come &
o ;
per impedire la codifica in unicode basata sui vettori xss.
Per ignorare questo filtro puoi utilizzare la codifica dell'URL.
http://www.example.com/search?q=%26%2360%3Btest
tradurrebbe in
http://www.example.com/search?q=<test
Se il set di caratteri è UTF-7, la sequenza +ADw-
può essere utilizzata per rappresentare <
.
Le versioni correnti di Internet Explorer supportano ancora UTF-7. Tuttavia, la pagina dovrebbe essere già impostata come set di caratteri UTF-7 o dovrebbe esserci un tipo di vettore per consentire di impostarlo per sfruttarlo.
Vedi questa risposta e questa risposta .
Oltre a questo, è necessario un carattere inferiore al carattere per sfruttarlo nel contesto dell'elemento HTML. Questo non è il caso del contesto di attributo in cui, se il contesto può essere modificato in un altro attributo, è possibile iniettare uno script di supporto:
<img alt="usertext" />
imposta usertext su " onmouseover="alert('xss')
quindi verrà visualizzato come
<img alt="" onmouseover="alert('xss')" />
e nessun <
necessario.
Leggi altre domande sui tag web-application xss