javascript: gli URL che iniziano con // consentono XSS?

6

Ho trovato un processore di markup che consente agli utenti di includere collegamenti arbitrari, a condizione che contengano un " netloc "( // dopo il primo : ). A causa di miriade di sfruttabile protocollo gestori , questa è certamente una cattiva idea. Ma consente XSS su un sistema senza gestori di file vulnerabili?

Tutti i browser che ho provato (Chrome 22, FF 18, IE 9, Opera 12) non mostrano nulla quando puntano a javascript://alert('XSS') , ma questo potrebbe essere solo perché non sono abbastanza creativo. Analogamente, javascript://alert('XSS') (che renderebbe il primo doppio un commento e la alert una nuova riga) non funziona neanche.

    
posta phihag 05.02.2013 - 18:35
fonte

1 risposta

5

Sì, consente XSS. Puoi iniettare una nuova riga dopo // se usi il trucco giusto. // rende la linea un commento, ma la nuova riga è (come spazio bianco) non consentita in un URL, htmlencoded o no. Semplicemente urlencode, come questo :

<a href="javascript://%0Aalert('XSS');">XSS</a>
    
risposta data 05.02.2013 - 18:35
fonte

Leggi altre domande sui tag