Ejecutando la carga de XSS cuando se agrega “http” a la carga de pago

1

Tengo un contexto donde todos los caracteres especiales se escapan correctamente, excepto ':' & '/' . La salida se refleja dentro de la etiqueta <a href="payload" .

1) Cuando configuro la carga útil en javascript:alert() (que es la única carga útil que puedo imaginar en este contexto), se refleja como <a href="http://javascript:alert(1)"

2) Si la carga útil de entrada es

javascript://%0aalert(1);//

La salida reflejada es <a href="http://javascript://%0aalert(1);//" y cuando se hace clic se abre como http://javascript//%0aalert(1);// .

¿Es posible alguna derivación en este contexto?

    
pregunta ramailo sathi 11.01.2016 - 22:00
fuente

1 respuesta

2

No , si no puede cambiar la parte antes de los dos puntos, tiene la garantía de que siempre producirá una URL HTTP, sin importar lo que agregue.

Esto sigue el Identificador uniforme de recursos (URI): Sintaxis genérica RFC 3986 .

  

Cada URI comienza con un nombre de esquema [...].

La sintaxis de la parte del esquema se especifica de la siguiente manera:

URI  = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
...

Por lo tanto, no XSS es posible aquí y está limitado a clases de vulnerabilidad comparativamente inocuas, que se ocupan de las URL de HTTP, como redireccionamientos abiertos o filtraciones de remitentes , dependiendo de su escenario.

    
respondido por el Arminius 11.01.2016 - 22:34
fuente

Lea otras preguntas en las etiquetas