Supponiamo che un filtro convalidi l'url, ma non il protocollo. In tal caso, posso inserire il campo XSS con il seguente payload
javascript://%0D%0Aalert(document.domain);//validurl.com
Puoi incollare il payload sopra nella barra degli URL di Chrome per verificare che venga eseguito.
[In payload% //
commenti out code e %0A
prende il codice al di fuori del commento.] Qui abbiamo aggiunto stuff tra protocollo e URL per eseguire xss.
Il problema:
Sto cercando di inserire una lettera arbitraria, seguita da ( //
), seguita da due punti ( :
) prima del protocollo (anziché tra il protocollo e l'URL come mostrato nell'esempio sopra), qualcosa come:
a://%0Ajavascript:alert(document.domain);
Ma il payload sopra non verrà eseguito in chrome. Esistono soluzioni alternative per questo?