xss cuando se agrega http en la carga útil

2

Si un campo no está santificado (excepto <, >) y todo lo que hace es agregar http en la carga útil y refleja la salida, ¿es posible ejecutar un script en el lado del cliente?

Este es el aspecto de la salida para la entrada ../javascript:alert(1)

<a href  = "http://../javascript:alert(1)" target ="_blank">

Otra entrada de muestra: Entrada: "> < & gt ;:

Salida:

<a href = "http://"&gt;&lt;:" target="_blank">

Edit: Sería bueno si alguien pudiera pensar en la carga útil con javascript:, atribuirse como una forma de solicitar el uso de javascript: prompt (1).

    
pregunta ramailo sathi 11.10.2015 - 20:37
fuente

2 respuestas

3

Debido a que < y > están codificados, terminar la etiqueta de anclaje y agregar una nueva etiqueta no funcionará. Sin embargo, si las comillas de " no están codificadas o no se filtran, definitivamente puede obtener XSS. Por ejemplo, example.com/"+onclick="alert('XSS!') como entrada de URL generará la salida <a href="http://example.com/" onclick="alert('XSS!')" target="_blank"> .

La alerta onclick es la forma más fácil ( EDIT: como apunta @pineappleman), pero también podría agregar otros eventos (como onmouseover ) y podría mostrar su propio contenido en al frente de la página con CSS, lo que podría permitir que un atacante influya en las víctimas para que hagan cosas que no querrían hacer (piense en hacer clickjacking, pero en la página vulnerable directamente en lugar de hacerlo a través de un iframe de esa página).     

respondido por el CBHacking 11.10.2015 - 21:25
fuente
1

Si los datos no están limpios, pero solo se agrega "http", entonces la aplicación es vulnerable a XSS. Por ejemplo, si los datos se insertan en un atributo href como este:

<a href="http://userdata">

entonces un atacante podría en lugar de userdata ingresar "><img src=x onerror=alert() , lo que resultaría en:

<a href="http://"><img src=x onerror=alert()">

Editar: En el segundo ejemplo que agregó, el < y > Los signos están codificados. Podría intentar insertar " onclick="alert() que podría ejecutar un script cuando alguien haga clic en el enlace.

    
respondido por el pineappleman 11.10.2015 - 21:03
fuente

Lea otras preguntas en las etiquetas