Laboratorio de pruebas de penetración de aplicaciones web — aplicación Flask vulnerable, escáner automatizado e informe profesional de pentest. Cubre OWASP Top 10, SQLi, XSS, inyección de comandos, carga de archivos y más.
git clone https://github.com/Sarthak4126/Web-App-PenTesting.git
cd Web-App-PenTesting/target_app
pip install -r requirements.txt
python app.py
La aplicación se ejecuta en: http://127.0.0.1:5000
cd ../security_audit_tools
python run_audit.py
Genera hallazgos estructurados en audit_results.json.
reports/PENETRATION_TESTING_REPORT.html en un navegador → haz clic en "Print / Export to PDF"reports/PENETRATION_TESTING_REPORT.md para ver el CVSS 3.1 completo, los mapeos CWE y los diffs de remediación| Tarea | Componente Objetivo | Hallazgo | CVSS v3.1 |
|---|---|---|---|
| Reconocimiento | Cabeceras, /robots.txt | Divulgación de banner del servidor y rutas sensibles | 5.3 |
| Enumeración de Directorios | /backup, /admin, /api/v1/users | Directorio de respaldo expuesto y API sin autenticación | 7.5–8.6 |
| Pruebas de Autenticación | POST /login | Bypass de autenticación por SQLi (admin' --) y sin limitación de tasa | 9.8 Crítico |
| Inyección SQL | /products?category= | SQLi por UNION y extracción de credenciales basada en errores | 9.8 Crítico |
| Cross-Site Scripting | /search, /feedback | XSS Reflejado y XSS Almacenado | 7.2–7.5 |
| Pruebas de Carga de Archivos | POST /upload_avatar | Carga sin restricciones — sin validación de MIME/extensión | 8.8 Alto |
| Inyección de Comandos | POST /network_tools | Ejecución remota de comandos del SO mediante ping sin sanitizar | 9.8 Crítico |
| Informes | reports/ | Informe profesional de pentest (Markdown y HTML/PDF) | ✅ |
Haz clic en "Switch to Remediated Mode" en el banner de navegación o visita /toggle_mode.
| Vulnerabilidad | Parche Aplicado |
|---|---|
| Inyección de Comandos | shell=False + validación estricta de IP |
| Inyección SQL | Sentencias preparadas parametrizadas |
| XSS | Autoescape de HTML + Content-Security-Policy |
| Carga de Archivos | Lista blanca de extensiones + nombres de archivo aleatorizados con UUID |
| Control de Acceso Roto | Autorización de sesión basada en roles (RBAC) |
Kali Linux · Burp Suite · Nmap · Gobuster · SQLMap · Python · Flask · SQLite
OWASP Top 10 (2021) · NIST SP 800-115 · PTES · CVSS v3.1 · CWE