Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
xssearch — Escáner XSS basado en Rust con selección de payloads consciente del contexto, detección y evasión de WAF, crawling, callbacks de XSS ciego y análisis estático de sinks del DOM. | Kitploit
Herramientas/GitHubGitHub/affolter-engineering/xssearch
ReconocimientoAnálisis EstáticoEscáneres de VulnerabilidadesEscáneres de Vulnerabilidades WebGeneración de PayloadsExplotación de Aplicaciones WebRecopilación de InformaciónEvasión de WAF

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Seguridad Web
Pruebas de Penetración
Red Teaming
Crawler
GitHubaffolter-engineering/xssearch

xssearch

Escáner XSS basado en Rust con selección de payloads consciente del contexto, detección y evasión de WAF, crawling, callbacks de XSS ciego y análisis estático de sinks del DOM.

Ver Repositorio
2137hace 1 díaAún no revisado
Compartir

xssearch

Herramienta avanzada de detección de XSS escrita en Rust, que combina inteligencia de payloads consciente del contexto con la amplitud de inyección.

Esta herramienta se inspiró en XSStrike y XSSER. El payload fue recolectado de diferentes fuentes:

  • https://github.com/ardakocadoru/xss-cheatsheet
  • https://github.com/Proviesec/xss-payload-list
  • https://cheatsheetseries.owasp.org/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html
  • https://github.com/swisskyrepo/PayloadsAllTheThings

Gracias chicos, son increíbles ❤️

Advertencia: Úsalo solo contra sistemas que poseas o para los que tengas autorización escrita explícita para probar.

Características

  • Escaneo consciente del contexto - sondea primero cada parámetro, detecta dónde se refleja el valor (cuerpo HTML, atributo, JavaScript, comentario, <title>, <textarea>, etc.) y selecciona los payloads más apropiados para ese contexto en lugar de disparar todo a ciegas
  • Más de 100 payloads integrados - etiquetas HTML, rupturas de atributos, inyección JS, polyglots, sinks DOM, variantes de bypass de WAF
  • Detección y bypass de WAF - identifica Cloudflare, ModSecurity, Sucuri, Imperva, Akamai, AWS WAF, F5 BIG-IP, Barracuda, Wordfence; aplica transformaciones de bypass por WAF (mutación de mayúsculas/minúsculas, inserción de comentarios, caracteres de ancho cero y codificación)
  • Crawler - rastrea enlaces y formularios para descubrir parámetros inyectables automáticamente
  • Inyección en cabeceras y cookies - prueba Referer, User-Agent, X-Forwarded-For, X-Real-IP y otras cabeceras, además de valores de cookies
  • Blind XSS - inyecta payloads de callback fuera de banda (compatible con Burp Collaborator, interactsh) en cada sink para escenarios de ejecución diferida (paneles de administración, visores de logs y similares)
  • Análisis de DOM XSS - inspección estática de innerHTML, eval, document.write, location.href, jQuery .html() y otros sinks peligrosos con detección de origen
  • Codificación de payloads - codificación URL, doble URL, entidad HTML, Unicode y base64/eval con flags componibles
  • Salida JSON - hallazgos estructurados para integración con otras herramientas
  • Informe Markdown - informe legible por humanos con una tabla resumen de severidad, secciones de detalle por hallazgo y una tabla de referencia rápida; listo para pegar en una wiki o adjuntar a un ticket
  • Rust/rustls puro - sin dependencia de OpenSSL; binario único casi estático

Instalación

Desde el código fuente (Nix)

git clone https://github.com/fabian-affolter/xssearch
cd xssearch
nix-shell --run "cargo build --release"
# binary: target/release/xssearch

Compilación de release con LTO y símbolos eliminados:

nix-shell --argstr release true --run "$BUILD"

Desde el código fuente (estándar)

Requiere Rust 1.75+.

cargo build --release

Nixpkgs

Para usuarios de Nix o NixOS hay un paquete disponible. Ten en cuenta que las últimas versiones pueden estar presentes solo en el canal unstable.

nix-env -iA nixos.xssearch

Uso

xssearch [OPTIONS] <--url <URL> | --file <URLS_FILE>>

Opciones

FlagDescripción
-u, --url <URL>URL objetivo. Usa FUZZ para marcar un punto de inyección personalizado
-f, --file <FILE>Archivo con una URL por línea
-d, --data <DATA>Cuerpo POST. Usa FUZZ para marcar el punto de inyección
-H, --header <H>Cabecera de solicitud adicional, repetible
--cookie <COOKIE>Cadena de cookie
--proxy <URL>Proxy HTTP/HTTPS
--timeout <N>Tiempo de espera de solicitud en segundos (predeterminado: 10)
--user-agent <UA>User-Agent personalizado
--follow-redirectsSeguir redirecciones HTTP
--threads <N>Solicitudes concurrentes (predeterminado: 2)
--delay <MS>Retardo entre solicitudes en milisegundos
--crawlRastrear el objetivo en busca de enlaces y formularios
--crawl-depth <N>Profundidad de rastreo (predeterminado: 3)
--headers-injectProbar cabeceras HTTP comunes como puntos de inyección
--cookie-injectProbar valores de cookies como puntos de inyección
--blind <URL>URL de callback para Blind XSS
--domAnálisis estático de sinks DOM XSS
--fuzzDisparar todos los payloads independientemente del contexto de reflexión
--payload-set <SET>all | html | js | attr | poly | dom | mxss | waf (predeterminado: all)
--payloads-file <FILE>Archivo de payloads personalizado, uno por línea
--encode <LIST>Codificaciones separadas por comas: url,html,unicode,double,base64
--prefix <STR>Anteponer cadena a cada payload
--suffix <STR>Añadir cadena a cada payload
--waf-detectIdentificar WAF antes del escaneo
--waf-bypassAplicar transformaciones de bypass de WAF a los payloads
--output-json <FILE>Escribir hallazgos en archivo JSON
--output-md <FILE>Escribir hallazgos en archivo Markdown
-v, --verboseSalida detallada (mostrar contexto, todos los sondeos)
-V, --versionImprimir versión y salir

Ejemplos

Escaneo básico de parámetro GET

xssearch -u "https://example.com/search?q=test"

Formulario POST

xssearch -u "https://example.com/login" -d "user=admin&pass=FUZZ"

Rastrear desde la raíz, detectar WAF, probar cabeceras

xssearch -u "https://example.com/" --crawl --waf-detect --headers-inject -v

Bypass de WAF con codificación URL + HTML

xssearch -u "https://example.com/?q=FUZZ" --waf-detect --waf-bypass --encode url,html

Blind XSS con callback de interactsh

xssearch -u "https://example.com/contact" -d "msg=FUZZ" \
  --blind "https://abc123.oast.fun/xssearch"

Solo análisis estático de DOM XSS

xssearch -u "https://example.com/app" --dom --no-banner

Guardar resultados como JSON

xssearch -u "https://example.com/?q=test" --output-json results.json

Guardar resultados como Markdown

xssearch -u "https://example.com/?q=test" --output-md report.md

Guardar ambos formatos a la vez

xssearch -f targets.txt --crawl --waf-detect --output-json results.json --output-md report.md

Proxy a través de Burp Suite

xssearch -u "https://example.com/?q=test" --proxy http://127.0.0.1:8080 -v

Pruebas

Objetivo local mínimo

La forma más rápida de verificar la herramienta es levantar localmente un servidor Python intencionalmente vulnerable:

python3 - <<'EOF'
import http.server, urllib.parse

class H(http.server.BaseHTTPRequestHandler):
    def log_message(self, *a): pass
    def do_GET(self):
        p = urllib.parse.urlparse(self.path)
        q = urllib.parse.parse_qs(p.query)
        val = q.get('q', [''])[0]
        body = f'<html><body><p>Search: {val}</p></body></html>'.encode()
        self.send_response(200)
        self.send_header('Content-Type', 'text/html')
        self.end_headers()
        self.wfile.write(body)

http.server.HTTPServer(('127.0.0.1', 9999), H).serve_forever()
EOF

Luego escanéalo:

xssearch -u "http://127.0.0.1:9999/?q=test" -v

Salida esperada: [Vuln] XSS in 'q' con un payload de contexto HTML.

Objetivos Docker locales

Estas imágenes están diseñadas específicamente para probar herramientas de seguridad y no contienen datos reales de usuarios.

DVWA (Damn Vulnerable Web Application)

docker run -d -p 8080:80 vulnerables/web-dvwa
# Set security level to Low in the UI first
xssearch -u "http://localhost:8080/vulnerabilities/xss_r/?name=test" \
  --cookie "PHPSESSID=<your-session>; security=low"

OWASP WebGoat

docker run -d -p 8081:8080 webgoat/goat-and-wolf
xssearch -u "http://localhost:8081/WebGoat/" --crawl --crawl-depth 2 -v
Descargar herramienta