¿Javascript: las URL que comienzan con // permiten XSS?

6

Encontré un procesador de marcado que permite a los usuarios incluir enlaces arbitrarios, siempre que contengan un " netloc "( // después del primer : ). Debido a el myriad of explotable protocol manejadores , esta es ciertamente una mala idea. Pero, ¿permite XSS en un sistema sin controladores de protocolo vulnerables?

Todos los navegadores que probé (Chrome 22, FF 18, IE 9, Opera 12) no muestran nada cuando apuntan a javascript://alert('XSS') , pero ciertamente podría ser porque no soy lo suficientemente creativo. De forma similar, javascript://alert('XSS') (lo que haría que la primera doble barra haga un comentario, y alert una nueva línea) tampoco funciona.

    
pregunta phihag 05.02.2013 - 18:35
fuente

1 respuesta

5

Sí, permite XSS. Puede inyectar una nueva línea después de // si usa el truco correcto. El // hace que la línea sea un comentario, pero la nueva línea (como espacios en blanco) no está permitida en una URL, htmlencoded o no. Simplemente urlencode, como esto :

<a href="javascript://%0Aalert('XSS');">XSS</a>
    
respondido por el phihag 05.02.2013 - 18:35
fuente

Lea otras preguntas en las etiquetas