# XSStrike: detectando y confirmando cross-site scripting

> Cómo instalar y ejecutar XSStrike, por qué los payloads sensibles al contexto superan a los genéricos, y cómo mantener las pruebas de XSS dentro del alcance.

`XSStrike` prueba cross-site scripting. Lo que lo separa de un fuzzer genérico es que analiza cómo se refleja un parámetro — cuerpo HTML, atributo, contexto de script — y genera payloads que encajan en ese contexto, en lugar de disparar una lista fija y confiar en la suerte.

## Instalación

```bash
git clone https://github.com/s0md3v/XSStrike.git
cd XSStrike && pip install -r requirements.txt
python xsstrike.py --help
```

## Comandos principales

```bash
# una única URL parametrizada
python xsstrike.py -u "https://example.com/search?q=test"

# datos POST
python xsstrike.py -u "https://example.com/search" --data "q=test"

# crawl y luego prueba
python xsstrike.py -u "https://example.com" --crawl

# autenticado
python xsstrike.py -u "https://example.com/search?q=test" \
  --headers "Cookie: session=abc123"

# throttle
python xsstrike.py -u "https://example.com/search?q=test" --delay 2 --timeout 10
```

## Salida

Legible por humano en la consola: el parámetro, el contexto de reflexión, el payload que disparó, y su confianza. XSStrike es una herramienta de análisis interactiva, no un productor de JSON — sus resultados se confirman a mano.

## Dónde encaja en Tandera

XSStrike se ejecuta en la fase de **analyze** de `recon_web_full` — solo el flujo activo; envía payloads reales, así que se excluye del recon lite `NonIntrusive`. Trabaja sobre los parámetros que `arjun` descubrió y los endpoints que `katana` crawleó, concentrando el esfuerzo en inputs que realmente se reflejan.

## Uso en un pentest

**Un payload reflejado aún no es un finding.** Confirma la ejecución — un alert real, un cambio real en el DOM — y captura un screenshot como evidencia. "Reflejado sin encoding" y "ejecuta script" son severidades distintas.

**El contexto es todo el juego.** El mismo input puede ser seguro en un contexto y explotable en otro. La detección de contexto de XSStrike es por qué encuentra casos que una lista de payloads genérica se pierde; lee qué contexto reporta, porque eso determina el impacto en el mundo real.

**Haz throttle y coordina.** Las pruebas de XSS escriben payloads en la aplicación. En cualquier cosa con inputs almacenados puedes persistir cadenas de prueba en lugares que usuarios reales ven — acuerda la ventana de prueba con el cliente y usa `--delay`.

**El XSS almacenado necesita seguimiento manual.** XSStrike es más fuerte en XSS reflejado. Para almacenado, úsalo para encontrar el punto de inyección, luego confirma el sink de ejecución a mano.

---

Canonical: https://tandera.io/es/tools/xsstrike
This page as markdown: https://tandera.io/es/tools/xsstrike.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
