Reflejado XSS - Comprensión automática de los filtros

1

Actualmente me estoy enfrentando a esta posible vulnerabilidad XSS reflejada en una aplicación web:

URL = http://www.test.com/login/?login=[PAYLOAD]

Cuando un usuario hace clic en este enlace, muestra una página de inicio de sesión que incluye el siguiente código:

<a href="http://www.test.com/login/[PAYLOAD]><img...></img></a>

Intenté cerrar la etiqueta <a> usando > con diferentes codificaciones, pero esto se filtra y se muestra como %3E . También intenté cerrar la cita doble y usar algunas cosas como onclick, etc., pero esto también se filtra.

Así que me preguntaba, ¿hay alguna herramienta que pueda probar automáticamente todos los caracteres en un conjunto determinado con diferentes codificaciones para ver qué se filtra?

Podría crear mi propio script para hacer eso, pero podría ahorrar algo de tiempo y bien ... reinventando la rueda ...

Actualizar :
Así que parece que no hay ninguna herramienta que proporcione tal capacidad. es decir: pruebe e informe para cada entrada lo que se filtra (y cómo se procesa) o lo que no. Burp termina siendo la mejor solución para hacerlo semi-manualmente, y se puede hacer una extensión Burp para automatizar completamente este proceso.

    
pregunta ack__ 15.10.2013 - 18:51
fuente

1 respuesta

4

Probablemente podría usar Burp Suite para hacer esto. Burp Proxy le permitirá interceptar una solicitud HTTP a una URL específica, por ejemplo, http://www.test.com/login/?login=[PAYLOAD] .

Una vez que haya interceptado esta solicitud, puede especificar a cuál de los parámetros desea dirigirse utilizando Burp Intruder (en este caso login ).

A continuación, puede especificar una carga útil que le gustaría aplicar a este parámetro. Puede elegir entre una cantidad de cargas útiles existentes o puede crear las suyas propias.

Cuando comience el ataque, se disparará una solicitud con cada elemento de su conjunto de carga útil y le dará una serie de opciones para examinar el resultado, como grepping para la carga útil para ver si se logró a través de intactos.

Espero que esto ayude!

    
respondido por el Abe Miessler 15.10.2013 - 19:04
fuente

Lea otras preguntas en las etiquetas