[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80940":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},80940,"WSTG-Scan","afsh4ck\u002FWSTG-Scan","afsh4ck","OWASP Web Security Testing (WSTG) Scanner",null,"Python",92,25,32,1,0,19,54,7,56.14,false,"main",true,[],"2026-06-11 04:07:22","# 🔍 OWASP Web Security Testing Scanner\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.8+-blue.svg\" alt=\"Python\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg\" alt=\"License\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Active-brightgreen.svg\" alt=\"Status\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Kali%20Linux-lightgrey.svg\" alt=\"Platform\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Herramienta interactiva y completa de pruebas de seguridad web\u003C\u002Fstrong> basada en la metodología OWASP WSTG.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-características\">Características\u003C\u002Fa> •\n  \u003Ca href=\"#-instalación\">Instalación\u003C\u002Fa> •\n  \u003Ca href=\"#-uso-rápido\">Uso\u003C\u002Fa> •\n  \u003Ca href=\"#-reportes\">Reportes\u003C\u002Fa> •\n  \u003Ca href=\"#-contribuciones\">Contribuir\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n\u003Cimg width=\"2062\" height=\"1258\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F2f1cc379-f672-429f-978c-d70b1f201fff\" \u002F>\n\u003Cimg width=\"3440\" height=\"1920\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faac7aed1-cc98-4e97-a123-60a0263c8350\" \u002F>\n\n\n## 📋 Tabla de Contenidos\n\n- [Descripción](#-descripción)\n- [Características](#-características)\n- [Requisitos Previos](#-requisitos-previos)\n- [Instalación](#-instalación)\n- [Uso Rápido](#-uso-rápido)\n- [Menú Principal](#-menú-principal)\n- [Reportes](#-reportes)\n- [Configuración Avanzada](#-configuración-avanzada)\n- [Solución de Problemas](#-solución-de-problemas)\n- [Contribuciones](#-contribuciones)\n- [Licencia](#-licencia)\n- [Disclaimer](#-️-disclaimer)\n\n---\n\n## 📝 Descripción\n\n**WSTG Scanner** es una herramienta de pentesting web **interactiva y comprehensiva** que implementa las mejores prácticas del [OWASP Web Security Testing Guide](https:\u002F\u002Fowasp.org\u002Fwww-project-web-security-testing-guide\u002F) y el [OWASP API Top 10](https:\u002F\u002Fowasp.org\u002FAPI-Security\u002F).\n\nDiseñada para bug bounty hunters y pentesters, automatiza tareas comunes de reconocimiento, análisis y pentesting web:\n- 🕷️ Mapeo completo y exhaustivo de aplicaciones web (spidering con detección de formularios e inputs)\n- 🔬 **Análisis del código fuente** de páginas y scripts JS expuestos (credenciales, API keys, JWT, claves PEM, comentarios sensibles)\n- 🛡️ Análisis de vulnerabilidades con **Nuclei** (10.000+ templates)\n- 🔍 Fuzzing rápido de directorios con **ffuf** (pre-filtrado de wordlist + baseline anti-falsos positivos)\n- 💉 Pruebas de inyección avanzadas (SQLi, XSS, LFI, RCE, Open Redirect)\n- 🔌 Detección y testing de APIs (IDOR, Mass Assignment, GraphQL, JWT, CORS)\n- 🔍 **Escaneo de puertos con Nmap** (`-sV` para detección de servicios y versiones)\n- 🌐 **Fuzzing de subdominios (vhost)** con `ffuf` y baseline `Content-Length`\n- 🧩 **WordPress \u002F WPScan** – enumeración de usuarios, detección de plugins\u002Ftemas vulnerables y ataques dirigidos\n- 🏛️ **Pentesting de Active Directory** – Kerbrute, LDAP, NetExec (nxc) e Impacket (AS-REP Roasting y Kerberoasting)\n- 👤 Enumeración de usuarios y emails\n- 🔐 Fuerza bruta con **hydra** + fallback CSRF-aware y **autodetección del mensaje de error**\n- 📊 Reportes en **TXT, JSON, Markdown y HTML** (dashboard SaaS con tema claro\u002Foscuro, exportable a PDF)\n\n## ☠️ Video Completo\n\nhttps:\u002F\u002Fyoutu.be\u002F-zMs3HmNVvg\n---\n\n## ⭐ Características\n\n### 🔐 Autenticación\n- **Pre-autenticación** – Login automático con credenciales (Basic Auth o formulario)\n- **Sesión persistente** – Todas las pruebas posteriores usan la sesión autenticada\n- Manejo de cookies y campos hidden (CSRF tokens)\n\n### 🔎 Reconocimiento\n- **Información general** – Server, headers, cookies, SSL\u002FTLS, métodos HTTP, robots.txt \u002F sitemap.xml\n- **Detección de tecnologías** – Integración con `whatweb` (auto-instalación) con fallback por cabeceras\n- **Análisis de cabeceras de seguridad** – HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy\n- **Seguridad de cookies** – Flags `Secure`, `HttpOnly`, `SameSite`\n- **CORS avanzado** – Wildcard + Credentials, origen reflejado, preflight con orígenes maliciosos\n\n### 🔍 Escaneo de Puertos con Nmap\n- Ejecuta `nmap -sV` sobre el host del objetivo (extraído de la URL)\n- **Auto-instalación de nmap** vía `apt` si no está presente\n- Parsing **XML** (`-oX -`) robusto: extrae puerto, protocolo, estado, servicio, producto, versión y `extrainfo`\n- Tabla visual con colores por estado (open \u002F open|filtered) al terminar el escaneo\n- Cada puerto abierto se registra en `FINDINGS` con prefijo `[PORT]` y queda agrupado en una categoría propia en los reportes\n- Timeout configurable (600s por defecto), interrumpible con Ctrl+C\n\n### 🛡️ Análisis de Vulnerabilidades con Nuclei\n- **Auto-instalación de Nuclei** vía `apt` si no está presente\n- Soporte para `-jsonl-export` (formato actual) con fallback a `-json-export`\n- **Deduplicación** automática por `(template_id, url, severity)`\n- **Tabla resumen** por severidad y **listado de hallazgos relevantes** (critical\u002Fhigh\u002Fmedium\u002Flow)\n- Ruido del backend Interactsh (`Could not unmarshal interaction data`) filtrado\n- Resultados integrados directamente en los reportes (TXT\u002FJSON\u002FHTML)\n\n### 🕷️ Spidering\n- Crawling BFS configurable (profundidad, número de páginas, respeto a robots.txt)\n- Detección de **formularios con inputs reales** (excluye submit\u002Fbutton\u002Ffile)\n- Deduplicación por `(action, method, inputs)` — no infla con el form de login del navbar\n- Manejo robusto de redirecciones (`TooManyRedirects` no aborta la fase)\n- Resultados reutilizados por las pruebas de inyección y el análisis de código fuente\n\n### 🔬 Análisis del Código Fuente\n- **Reutiliza las URLs descubiertas por el spider** (o lanza un spider rápido si no hay datos previos)\n- Descarga el HTML de cada página y los recursos enlazados del mismo dominio: **JS, JSON, source maps (`.map`), CSS, YAML, XML, `.env`**\n- Cap de **2 MB por archivo** y `stream=True` para evitar descargas masivas\n- 15 catálogos de patrones con severidad ponderada:\n  - **Critical** – claves PEM privadas, cadenas de conexión de BD con credenciales embebidas\n  - **High** – AWS Access Key\u002FSecret, Google API Key, GitHub\u002FSlack\u002FStripe tokens, JWT, credenciales hardcoded genéricas (`password=`, `api_key=`, `bearer=`, …)\n  - **Medium** – comentarios HTML sensibles (`TODO password`, `FIXME admin`, …), Basic Auth en URL, source maps expuestos, IPs privadas (10\u002F8, 172.16\u002F12, 192.168\u002F16)\n  - **Low** – rutas internas (`\u002Fadmin`, `\u002F.git`, `\u002F.env`, `\u002Factuator`, …), emails expuestos\n- Los hallazgos **critical\u002Fhigh se vuelcan a `FINDINGS`** con el prefijo `[CODE:SEV]`\n- Snippet de **contexto (±30 caracteres)** alrededor de cada coincidencia, deduplicación global por `(tipo, valor, url)`\n- Resumen por severidad, tablas visuales, exportación a TXT\u002FJSON\u002FMD\u002FHTML (card dedicado en el reporte)\n\n### 🌐 Fuzzing de Subdominios (VHost)\n- **Detección de vhosts** con `ffuf` enviando `Host: FUZZ.\u003Cdominio>`\n- **Baseline por Content-Length** – envía un Host inválido (`defnotvalid\u003Crnd>.\u003Cdominio>`) para obtener el tamaño base y filtrar con `-fs` todas las respuestas que coincidan\n- **Autodetección del dominio base** si el target es un FQDN; pide manual si es una IP\n- Wordlist por defecto: `Discovery\u002FDNS\u002Fnamelist.txt` (SecLists)\n- Fallback a método interno multihilo si no hay `ffuf`\n\n### 🔀 Fuzzing de Directorios & Enumeración\n- **Fuzzing de directorios** con `ffuf` (ultra-rápido) o método interno multihilo\n- **Pre-filtrado de wordlist** – descarta comentarios (`#`), líneas vacías y entradas con espacios\n- **Filtro `-fs` por baseline** – descarta páginas-comodín (apps que devuelven 200 con el index para cualquier ruta)\n- **Auto-calibración** (`-ac`) habilitada\n- Wordlist por defecto: `raft-small-directories.txt` (SecLists)\n- Tabla con anchos dinámicos y separación por status code\n\n### 💉 Pruebas de Inyección\n- **SQLi** – Error-based, time-based blind, boolean-based\n- **XSS** – Reflejado con análisis contextual\n- **Path Traversal \u002F LFI** – `\u002Fetc\u002Fpasswd`, `win.ini`, encodings y bypass\n- **Command Injection** – Linux y Windows\n- **Open Redirect** – Detección de redirecciones a hosts arbitrarios\n- Reutiliza los formularios e inputs detectados por el spider (eficiente)\n\n### 🐘 Enumeración y ataques WordPress\n- Enumera usuarios y rutas de login.\n- Detecta la versión del core, los plugins y los temas instalados.\n- Busca vulnerabilidades conocidas (CVE) en plugins y temas.\n- Realiza fuerza bruta del login con wordlists.\n\n### 🏛️ Pentesting de Active Directory\nMódulo dedicado (opción **13** del menú) que orquesta las herramientas estándar de AD de Kali. Funciona en dos modos: **sin credenciales** (solo enumeración) o **autenticado** (usuario\u002Fcontraseña para ataques más profundos).\n\n- **Enumeración de usuarios** con `kerbrute userenum` a partir de una wordlist.\n- **Consultas LDAP** (`ldapsearch`) para listar usuarios, grupos y equipos del dominio.\n- **SMB con NetExec** (`nxc smb`) para enumeración y *password spraying* \u002F fuerza bruta.\n- **AS-REP Roasting** con `impacket-GetNPUsers` sobre los usuarios sin pre-autenticación Kerberos.\n- **Kerberoasting** con `impacket-GetUserSPNs -request` para extraer hashes de cuentas de servicio.\n- Todos los hashes y credenciales obtenidos quedan integrados en los reportes (sección *Active Directory*).\n\n> **Herramientas recomendadas:** `kerbrute`, `ldap-utils`, `netexec`\u002F`nxc` e `impacket-scripts`.\n\n### 🔌 Testing de APIs (OWASP API Top 10)\n- **Descubrimiento de endpoints** (`\u002Fapi`, `\u002Fswagger`, `\u002Fgraphql`, `\u002Factuator`, etc.) y parsing de OpenAPI\n- **IDOR \u002F BOLA (API1)** – Modificación de IDs numéricos, UUID y parámetros\n- **JWT (API2)** – Detección, análisis de `alg`, claims de privilegio, expiración\n- **Rate Limiting (API4)** – Comprobación con 20 requests consecutivos\n- **Auth Bypass (API5)** – Cabeceras `X-Original-URL`, `X-Forwarded-For`, etc.\n- **Mass Assignment (API6)** – Inyección de `is_admin`, `role`, `privilege`\n- **Verbose Errors (API7)** – Detección de stack traces y rutas internas\n- **CORS \u002F GraphQL (API8)** – Introspección habilitada, enumeración de users\n\n### 👥 Enumeración & Fuerza Bruta\n- **Enumeración de usuarios** – Desde APIs (`\u002Fapi\u002Fusers`, etc.) y formularios diferenciales\n- **Fuerza bruta de contraseñas** – Soporta POST forms y Basic Auth\n- **Integración con `hydra`** (`-t 4 -I -u` para fiabilidad y deduplicación)\n- **Fallback CSRF-aware** al método interno con `requests.Session` (mantiene cookies y hidden fields)\n- **Autodetección del mensaje de error de login** – Envía credenciales imposibles, extrae frases candidatas del HTML y las propone para confirmar\n- **Heurística estricta** (≥2 señales positivas) cuando no hay mensaje de error confirmado, para evitar falsos positivos\n- Wordlists personalizables, soporta SecLists\n\n### 🎨 Experiencia de Usuario\n- **Menú interactivo** con autocompletado de rutas (Tab) en Kali\n- **Fases visualmente separadas** con cabeceras `[INFO] ======= ... =======`\n- **Tablas box-drawing** unificadas con anchos dinámicos y colores por severidad\u002Fstatus\n- **Barras de progreso** para spidering, fuzzing y bruteforce (tqdm)\n- **Manejo robusto de Ctrl+C** – Cualquier fase se interrumpe limpiamente, guardando hallazgos parciales\n\n---\n\n## 🔧 Requisitos Previos\n\n| Requisito | Versión | Requerido |\n|-----------|---------|----------|\n| Python | 3.8+ | ✅ Sí |\n| pip | Última | ✅ Sí |\n| nmap | Última | ❌ Opcional (auto-instalable, requerido para escaneo de puertos) |\n| nuclei | 3.x | ❌ Opcional (auto-instalable) |\n| ffuf | Última | ❌ Opcional (mejora el fuzzing) |\n| hydra | Última | ❌ Opcional (mejora el bruteforce) |\n| whatweb | Última | ❌ Opcional (mejora fingerprinting) |\n| wpscan | Última | ❌ Opcional (enumeración y ataques WordPress) |\n| kerbrute, ldap-utils, netexec\u002Fnxc, impacket-scripts | Última | ❌ Opcional (módulo de Active Directory) |\n| SecLists | Última | ❌ Opcional (wordlists) |\n\n### Requisitos del Sistema\n- **SO**: Kali Linux (recomendado) o cualquier Debian\u002FUbuntu con SecLists instalado\n- **RAM**: 512 MB mínimo, 2 GB recomendado\n- **Almacenamiento**: ~500 MB para dependencias y wordlists\n- **Red**: Conexión al objetivo (interna o internet)\n\n---\n\n## 📦 Instalación\n\n### 1️⃣ Instalación rápida (Kali Linux)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fafsh4ck\u002FWSTG-Scan.git\ncd WSTG-Scan\n\n# Crear entorno virtual (recomendado)\npython3 -m venv venv\nsource venv\u002Fbin\u002Factivate\n\n# Dependencias Python\npip install -r requirements.txt\n\n# Ejecutar\npython3 wstg-scan.py\n```\n\n### 2️⃣ Instalación con herramientas opcionales (recomendado para máxima cobertura)\n\n```bash\n# Tras los pasos de la instalación rápida:\nsudo apt update\nsudo apt install -y nmap ffuf hydra whatweb seclists wpscan\n\n# Nuclei: usa los binarios oficiales (más recientes que apt)\nGO111MODULE=on go install -v github.com\u002Fprojectdiscovery\u002Fnuclei\u002Fv3\u002Fcmd\u002Fnuclei@latest\n# O bien:\nsudo apt install -y nuclei\nnuclei -update-templates\n```\n\n> El script ofrecerá instalar Nuclei, WhatWeb, SecLists y WPScan automáticamente vía `apt` si no los encuentra.\n\n---\n\n## 🚀 Uso Rápido\n\n### Modo interactivo\n\n```bash\npython3 wstg-scan.py\n```\n\nSe pedirá la URL objetivo y se mostrará el menú principal.\n\n### Modo argumentos CLI\n\n```bash\npython3 wstg-scan.py --url https:\u002F\u002Fexample.com --output report.html --threads 10 --timeout 15\n```\n\n| Argumento | Descripción |\n|---|---|\n| `--url, -u` | URL objetivo (omitir para modo interactivo) |\n| `--output, -o` | Ruta base del reporte (genera TXT\u002FJSON\u002FHTML) |\n| `--threads, -t` | Número de hilos (default: 5) |\n| `--timeout` | Timeout por request en segundos (default: 10) |\n| `--delay, -d` | Delay entre requests para evasión (default: 0) |\n| `--insecure, -k` | Desactiva la verificación TLS (uso en labs \u002F certificados auto-firmados) |\n| `--no-color` | Desactiva colores ANSI |\n| `--version, -V` | Versión del scanner |\n\n### Pre-autenticación\n\n```bash\npython3 wstg-scan.py\n# Menú → 1. Configurar autenticación (login)\n# Introduce usuario, contraseña y URL de login\n# Las siguientes pruebas usarán la sesión autenticada\n```\n\n---\n\n## 📋 Menú Principal\n\n```\n _       __       __         _____                   \n| |     \u002F \u002F_____ \u002F \u002F_ ____ _\u002F ___\u002F _____ ____ _ ____ \n| | \u002F| \u002F \u002F\u002F ___\u002F\u002F __\u002F\u002F __ `\u002F\\__ \\ \u002F ___\u002F\u002F __ `\u002F\u002F __ \\\n| |\u002F |\u002F \u002F(__  )\u002F \u002F_ \u002F \u002F_\u002F \u002F___\u002F \u002F\u002F \u002F__ \u002F \u002F_\u002F \u002F\u002F \u002F \u002F \u002F\n|__\u002F|__\u002F\u002F____\u002F \\__\u002F \\__, \u002F\u002F____\u002F \\___\u002F \\__,_\u002F\u002F_\u002F \u002F_\u002F \n                   \u002F____\u002F                            \n\nOWASP Web Security Testing Scanner\ndeveloped by @afsh4ck\n\n====================================================\n  WSTG SCANNER v1.2.0  [Sin autenticación]\n====================================================\n 1. Configurar autenticación (login)\n 2. Información general y enumeración\n 3. Escaneo de puertos con Nmap (-sV + NSE dirigido)\n 4. Análisis de vulnerabilidades con Nuclei\n 5. Fuzzing de subdominios (vhost) con ffuf\n 6. Fuzzing de directorios (usa ffuf si está instalado)\n 7. Spidering \u002F Mapeo completo del sitio\n 8. Análisis de código fuente (credenciales\u002Fsecretos en HTML y JS)\n 9. Pruebas de inyección (SQLi, XSS, Path Traversal, Command Injection)\n10. Pruebas de API (descubrimiento, IDOR, mass assignment)\n11. Enumeración de usuarios\u002Femails y fuerza bruta de contraseñas\n12. Enumeración y ataques WordPress (WPScan)\n13. Pentesting Active Directory (Kerbrute\u002FLDAP\u002FNXC)\n14. PENTESTING COMPLETO (ejecuta todas las pruebas anteriores)\n15. Mostrar resumen en Markdown          (solo tras escanear)\n16. Mostrar tablas de resultados         (solo tras escanear)\n17. Salir\n====================================================\nSelecciona una opción:\n```\n\n**Cómo leer el menú:**\n\n- **Opciones 2–13** ejecutan cada fase de forma independiente. Puedes lanzarlas en cualquier orden; los resultados se acumulan en la misma sesión.\n- **Opción 1** configura el login una sola vez: a partir de ahí, todas las fases reutilizan la sesión autenticada (cookies y cabeceras).\n- **Opción 14 — Pentesting completo:** encadena automáticamente información → Nmap → Nuclei → vhost → directorios → spidering → código fuente → inyección → API → WordPress → bruteforce. El módulo de Active Directory es opcional y se pregunta antes de ejecutarlo. Al terminar muestra todas las tablas y ofrece guardar el reporte.\n- **Opciones 15 y 16** solo aparecen cuando ya hay datos de un escaneo. Sirven para revisar resultados sin volver a escanear: la **15** imprime el resumen en Markdown (listo para pegar en GitBook\u002FGitHub) y la **16** reimprime las tablas con el formato visual.\n\n---\n\n## 📊 Reportes\n\nLos reportes se generan automáticamente en `reports\u002F\u003Chost>\u002F\u003Chost>.{txt,json,html,md}` con cuatro formatos:\n\n| Formato | Contenido |\n|---|---|\n| `*.txt` | Resumen plano + secciones por categoría (general, vhost, spider, **análisis de código fuente**, API, directorios, credenciales, hallazgos, Nuclei) |\n| `*.json` | Datos serializados completos (ideal para integrar con otras herramientas) |\n| `*.html` | **Dashboard SaaS** en un único archivo: tema claro\u002Foscuro, barra lateral colapsable, buscador de tablas y exportación a PDF |\n| `*.md`  | Resumen completo en **Markdown** estándar — copia\u002Fpega directo en GitBook, GitHub u Obsidian |\n\n### El dashboard HTML\n\n\u003Cimg width=\"3440\" height=\"1920\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4c5ea1ad-112d-4ad7-a1f4-2965fd25c3c6\" \u002F>\n\nEl reporte HTML es un **dashboard interactivo** tipo Saas profesional:\n\n- 🎨 **Tema claro\u002Foscuro** con detección automática del sistema y conmutador persistente.\n- 🧭 **Barra lateral colapsable** con navegación e indicador de la sección activa al hacer scroll.\n- 🔎 **Buscador en vivo** que filtra todas las tablas (host, puerto, CVE, hash…).\n- 📊 **Resumen visual** con tarjetas-KPI (enlazadas a su sección) y un medidor de riesgo por severidad.\n- 🖨️ **Exportación a PDF** optimizada (paleta clara, márgenes y sin cortes entre páginas).\n- 🧩 **Solo se muestran las secciones con datos.** Las disponibles son: Resumen, Información general, Nmap y NSE, Hallazgos, Nuclei, API, VHosts, Directorios, Superficie expuesta, WordPress, Spidering, Código fuente, **Active Directory**, Credenciales y un volcado JSON completo.\n\n---\n\n## ⚙️ Configuración Avanzada\n\n### Personalizar wordlists\n\nEdita las constantes en `wstg-scan.py`:\n\n```python\nSECLISTS_SMALL     = \"\u002Fusr\u002Fshare\u002Fseclists\u002FDiscovery\u002FWeb-Content\u002Fraft-small-directories.txt\"\nSECLISTS_MEDIUM    = \"\u002Fusr\u002Fshare\u002Fseclists\u002FDiscovery\u002FWeb-Content\u002Fdirectory-list-lowercase-2.3-medium.txt\"\nSECLISTS_PASSWORDS = \"\u002Fusr\u002Fshare\u002Fseclists\u002FPasswords\u002Fxato-net-10-million-passwords-10000.txt\"\n```\n\n### Parámetros de red y concurrencia\n\n```python\nDEFAULT_TIMEOUT = 10   # segundos por request\nMAX_REDIRECTS   = 10   # redirecciones máximas seguidas\nTHREADS         = 5    # hilos concurrentes\nREQUEST_DELAY   = 0.0  # delay entre requests\n```\n\n### Usar Burp Suite como proxy\n\n```bash\nexport HTTP_PROXY=http:\u002F\u002F127.0.0.1:8080\nexport HTTPS_PROXY=http:\u002F\u002F127.0.0.1:8080\npython3 wstg-scan.py\n```\n\n---\n\n## 🐛 Solución de Problemas\n\n### `ModuleNotFoundError: No module named 'requests'`\n```bash\npip install -r requirements.txt\n```\n\n### `ffuf: command not found`\n```bash\nsudo apt install -y ffuf\n```\n\n### Nuclei se queda colgado o emite muchos errores Interactsh\nEs ruido del backend OAST. El script filtra los `Could not unmarshal interaction data`. Para desactivar Interactsh completamente, edita la llamada a Nuclei y añade `-ni`.\n\n### El bruteforce no encuentra ciertas credenciales\nHydra no maneja CSRF tokens ni sesiones; el script detectará los usuarios pendientes y caerá al método interno (CSRF-aware con `requests.Session`). Si aun así no las encuentra, comprueba account lockout o rate limiting en el servidor.\n\n### Spidering se queda en pocas páginas\nSi ves `Exceeded N redirects`, el target tiene cadenas de redirección largas. Sube `MAX_REDIRECTS` en el script.\n\n---\n\n## 📚 Recursos Útiles\n\n- [OWASP WSTG](https:\u002F\u002Fowasp.org\u002Fwww-project-web-security-testing-guide\u002F) – Guía oficial\n- [OWASP API Security Top 10](https:\u002F\u002Fowasp.org\u002FAPI-Security\u002F)\n- [Nuclei Templates](https:\u002F\u002Fgithub.com\u002Fprojectdiscovery\u002Fnuclei-templates)\n- [ffuf](https:\u002F\u002Fgithub.com\u002Fffuf\u002Fffuf) – Web fuzzer\n- [hydra](https:\u002F\u002Fgithub.com\u002Fvanhauser-thc\u002Fthc-hydra) – Fuerza bruta\n- [SecLists](https:\u002F\u002Fgithub.com\u002Fdanielmiessler\u002FSecLists) – Listas para pentesting\n\n---\n\n## 🤝 Contribuciones\n\n¡Las contribuciones son bienvenidas!\n\n1. **Fork** el repositorio\n2. Crea una rama (`git checkout -b feature\u002FAmazingFeature`)\n3. Commit tus cambios (`git commit -m 'Add AmazingFeature'`)\n4. Push (`git push origin feature\u002FAmazingFeature`)\n5. Abre un **Pull Request**\n\n### Áreas para Contribuir\n- [ ] Imagen Docker oficial\n- [ ] Reportes en PDF\n- [ ] Tests automatizados (pytest)\n- [ ] Soporte WebSocket \u002F Server-Sent Events\n- [ ] Plugins de detección de WAF\n- [ ] Interfaz gráfica (TUI con Textual)\n\n---\n\n## 📄 Licencia\n\nEste proyecto está bajo la licencia **MIT**. Ver [LICENSE](LICENSE) para detalles.\n\n---\n\n## 👨‍💻 Autor\n\n**afsh4ck** – Offensive Security Engineer | Pentester\n\n- 🐙 GitHub: [@afsh4ck](https:\u002F\u002Fgithub.com\u002Fafsh4ck)\n- 🔗 LinkedIn: [afsh4ck](https:\u002F\u002Flinkedin.com\u002Fin\u002Fafsh4ck)\n\n---\n\n## ⚠️ Disclaimer\n\n**IMPORTANTE**: Esta herramienta solo debe usarse en sistemas donde tienes permiso explícito para realizar pruebas de seguridad.\n\n- ❌ **El uso no autorizado es ILEGAL**\n- ❌ El autor **NO se hace responsable** del mal uso\n- ⚠️ Respeta leyes locales e internacionales\n- ✅ Siempre obtén consentimiento escrito antes de testar\n\n```\n\"This tool is for authorized security testing only.\nUnauthorized access to computer systems is illegal.\"\n```\n\n---\n\n\u003Cdiv align=\"center\">\n\n⭐ Si te resulta útil, ¡dale una estrella! ⭐\n\n\u003C\u002Fdiv>\n\n---\n\n### Agradecimientos\n- [OWASP](https:\u002F\u002Fowasp.org\u002F) por la guía WSTG y el API Security Top 10\n- [ProjectDiscovery](https:\u002F\u002Fgithub.com\u002Fprojectdiscovery) por Nuclei\n- [Daniel Miessler](https:\u002F\u002Fgithub.com\u002Fdanielmiessler) por SecLists\n- [van Hauser](https:\u002F\u002Fgithub.com\u002Fvanhauser-thc) por Hydra\n","WSTG Scanner 是一个基于 OWASP Web 安全测试指南的自动化安全扫描工具。它使用 Python 语言开发，集成了多种安全检测功能，包括全面的网站爬取与映射、源代码分析（如凭证和 API 密钥泄露）、Nuclei 漏洞扫描、目录模糊测试、注入攻击测试、API 安全性检查、端口和服务版本探测、子域名枚举以及针对 WordPress 和 Active Directory 的特定测试等。该工具特别适合于网络安全研究人员、渗透测试人员及漏洞赏金猎人在进行网站或应用的安全评估时使用，能够帮助他们快速发现潜在的安全风险点。",2,"2026-06-11 04:02:55","CREATED_QUERY"]