
Una versión mejorada de mi herramienta xssfinder - escanea diferentes tipos de xss en una lista de urls.
Esta es la versión extendida basada en la idea inicial ya publicada como "xssfinder". Esta versión privada permite a un atacante realizar no solo solicitudes GET sino también POST. Además, es posible proxy cada solicitud a través de Burp u otro túnel.
Cambie el nombre de example.app-settings.conf a app-settings.conf y ajuste la configuración. Debería funcionar sin cambios, pero dependiendo del objetivo, recomendaría redimensionar los tamaños de los fragmentos.
Esta herramienta no espera ningún argumento vía CLI, así que solo escriba:
python3 extended-xss-search.py
Es posible establecer muchas opciones y configuraciones, así que aquí hay algunas explicaciones.
El archivo de configuración principal es "app-settings.conf", ¡todo debe hacerse en ese archivo! Además, hay otros archivos que permiten establecer datos más complejos como encabezados, urls y cookies.
config/cookie-jar.txt
Use este archivo para agregar una cadena de cookie. Normalmente copio la que se ve en cada solicitud de burp. Simplemente copie el valor del encabezado "Cookie:". En el archivo predeterminado hay una entrada de ejemplo.
config/http-headers.txt
Este archivo define los encabezados http que se agregan a la solicitud y se manipulan (se agrega payload a cada uno). Los más importantes ya están en el archivo. Pero siéntase libre de agregar más.
config/parameters.txt
La herramienta tiene la opción de realizar fuerza bruta en parámetros get y post. En ese caso se usarán esos parámetros (+ los de la cadena de consulta). Cada parámetro recibe el payload como valor. Los más importantes ya están en ese archivo.
config/urls-to-test.txt
¡Ese es el archivo que necesita! Agregue aquí sus enlaces para escanear. Los siguientes formatos están permitidos:
Cuando se detecta el último caso, se agrega un "http://" al inicio. Esta herramienta está pensada para funcionar con una buena lista de urls. Una buena forma de obtener una es exportarla usando burp. Así tendrá una lista válida de urls. Todo lo que necesita hacer es agregar sus cookies.
logs/
Esta es la carpeta de registros donde se registra todo.
El app-settings.conf define el flujo de trabajo del programa. Es el archivo más importante, allí puede activar/desactivar diferentes módulos.
Configuraciones básicas
HTTPTimeout
Algunas solicitudes pueden tardar mucho. Aquí puede definir el tiempo máximo de ejecución de una solicitud. Recomiendo valores entre 2 y 6 segundos.
MaxThreads
Cuantos más hilos, más rápido es el script, pero dado que estamos lidiando con muchas conexiones, suelo mantener esto por debajo de 10 en mi computadora personal y alrededor de 30 en mi VPS.
Tipos de ataque
OnlyBaseRequest
Establecer esto como verdadero resultará solo en "solicitudes base", lo que significa que la lista de urls es simplemente rastreada y se extraen parámetros interesantes. Podría usar eso para llenar su mapa del sitio de Burp rápidamente.
UsePost
Puede omitir las solicitudes POST estableciendo esto en "false"
UseGet
Esto es similar: omitir solicitudes GET si se establece en "false"
Configuraciones de tipo de ataque
GetChunkSize
¿Cuántos parámetros GET probar con una solicitud?
PostChunkSize
¿Cuántos parámetros POST probar con una solicitud?
Tunelización
También es posible usar un túnel, por ejemplo "127.0.0.1:8080" (Burp Proxy), para monitorear todo el tráfico dentro de Burp.
Active
Establecer esto en "true" forzará al script a usar una conexión tunelizada.
Tunnel
Establezca aquí su servidor proxy "ip:puerto".
El resultado es el siguiente: cuando abre Burp puede ver su historial http:



Simplemente cree un issue y etiquételo como solicitud de característica.
¿Te gusta esta herramienta? ¿Te ayudó a obtener un bounty? ¿Quieres devolver algo/apoyarme? ¡Por qué no!