Quindi sono abbastanza sicuro di conoscere la risposta a questa domanda, ma voglio essere sicuro al 100%, quindi sto cercando qualche input qui. Una vulnerabilità è stata segnalata a un mio sito che assomiglia a questo:
GET mysite.com/page<script>alert('XSS');</script>
Se usi la curl puoi vedere il payload nella risposta, allo stesso modo, se intercetti una richiesta del browser con un proxy e la modifichi al payload sopra che verrà eseguito.
Tuttavia, il back-end non sta decodificando l'URL. Se questo link viene pubblicato su alcuni forum e cliccato, il browser codificherà l'url e la risposta sarà simile a questa:
.... mysite.com/page%3Cscript%3Ealert(%27XSS%27)%3B%3C%2Fscript%3E ....
Questo ovviamente non viene eseguito. Per me, questo non costituisce una minaccia di sorta perché l'unico modo per eseguirlo con successo è con un attacco MITM. Se c'è qualcuno seduto sulla rete che può vedere il traffico e modificarlo, non ci sarebbe motivo di sfruttare XSS perché hai tutto quello che vuoi comunque.
Questa è un'analisi corretta? Esiste comunque la possibilità che un utente faccia clic su un link o pubblichi un modulo che non codifichi l'URL di cui non sono a conoscenza?