## https://sploitus.com/exploit?id=1C37E1C2-BE8B-5E69-9957-47565ED8D8D1
# 🔐 Laboratorio de SQL Injection - Del Principiante al Experto
Un entorno de práctica completo y seguro para aprender SQL Injection desde cero hasta técnicas avanzadas.
## 📋 Descripción
Este laboratorio contiene 9 niveles progresivos de dificultad que cubren las técnicas más comunes y avanzadas de SQL Injection. Cada nivel incluye:
- ✅ Documentación detallada de la vulnerabilidad
- ✅ Explicación del código vulnerable
- ✅ Guía paso a paso de explotación manual
- ✅ Ejemplos de automatización con herramientas modernas
## 🎯 Niveles del Laboratorio
### 🟢 Principiante (Niveles 1-3)
- **Nivel 1**: Error-based SQL Injection - Búsqueda de usuarios
- **Nivel 2**: UNION-based SQL Injection - Extracción de datos
- **Nivel 3**: Bypass de autenticación - Login vulnerable
### 🟡 Intermedio (Niveles 4-6)
- **Nivel 4**: Blind Boolean-based SQL Injection
- **Nivel 5**: Time-based Blind SQL Injection
- **Nivel 6**: Bypass de filtros WAF básicos
### 🔴 Avanzado (Niveles 7-9)
- **Nivel 7**: Second-Order SQL Injection
- **Nivel 8**: Bypass de WAF avanzado con técnicas de ofuscación
- **Nivel 9**: Explotación de stored procedures y stacked queries
## 🚀 Inicio Rápido
### Requisitos Previos
- Docker y Docker Compose instalados
- Python 3.9+ (opcional, para scripts de automatización)
- Burp Suite Community/Pro (opcional)
- SQLMap (opcional)
### Instalación
1. **Clonar o acceder al directorio del laboratorio**
```bash
cd /Users/clau/Development/lab-sqli-v1
```
2. **Iniciar el laboratorio con Docker**
```bash
docker-compose up -d
```
3. **Verificar que los servicios estén funcionando**
```bash
docker-compose ps
```
4. **Acceder a la aplicación**
- Frontend: http://localhost:5000
- phpMyAdmin (opcional): http://localhost:8080
### Credenciales por defecto
- MySQL: `root` / `rootpassword`
- phpMyAdmin: `root` / `rootpassword`
## 📚 Estructura del Proyecto
```
lab-sqli-v1/
├── app/ # Aplicación web vulnerable (Flask)
│ ├── app.py # Aplicación principal
│ ├── requirements.txt # Dependencias Python
│ └── templates/ # Templates HTML
├── db/ # Scripts de base de datos
│ └── init.sql # Inicialización de datos
├── docs/
│ ├── manual-exploitation/ # Guías de explotación manual
│ │ ├── nivel1.md
│ │ ├── nivel2.md
│ │ └── ...
│ └── automation/ # Guías de automatización
│ ├── burpsuite.md
│ ├── sqlmap.md
│ └── custom-scripts.md
├── scripts/ # Scripts de automatización
├── docker-compose.yml # Configuración Docker
└── README.md # Este archivo
```
## 🎓 Cómo Usar Este Laboratorio
### Para Cada Nivel:
1. **Lee la documentación** en `docs/manual-exploitation/nivelX.md`
2. **Analiza el código vulnerable** en la aplicación
3. **Practica la explotación manual** siguiendo la guía
4. **Aprende a automatizar** con las herramientas modernas
5. **Completa el desafío** antes de pasar al siguiente nivel
### Metodología Recomendada:
```
1. Identificación → Detectar la vulnerabilidad
2. Comprensión → Entender por qué existe
3. Explotación → Atacar manualmente
4. Automatización → Usar herramientas
5. Mitigación → Aprender a corregirla
```
## 🛠️ Herramientas Recomendadas
- **Burp Suite**: Proxy de interceptación y manipulación de peticiones
- **SQLMap**: Herramienta automatizada de detección y explotación
- **Python + Requests**: Para scripts personalizados
- **curl**: Para pruebas rápidas desde terminal
## ⚠️ Advertencia Legal
Este laboratorio está diseñado **ÚNICAMENTE** para propósitos educativos en un entorno controlado.
- ❌ NO uses estas técnicas en sistemas sin autorización explícita
- ❌ Hacerlo es ILEGAL y puede resultar en consecuencias legales graves
- ✅ Usa este laboratorio solo en tu entorno local
- ✅ Practica la ética en ciberseguridad
## 🤝 Contribuciones
Este es un proyecto educativo. Siéntete libre de:
- Agregar nuevos niveles
- Mejorar la documentación
- Reportar problemas o sugerencias
## 📖 Recursos Adicionales
- [OWASP SQL Injection](https://owasp.org/www-community/attacks/SQL_Injection)
- [PortSwigger SQL Injection](https://portswigger.net/web-security/sql-injection)
- [SQLMap Documentation](https://github.com/sqlmapproject/sqlmap/wiki)
## 🎯 Objetivos de Aprendizaje
Al completar este laboratorio, serás capaz de:
- ✅ Identificar vulnerabilidades de SQL Injection
- ✅ Explotar diferentes tipos de SQLi manualmente
- ✅ Automatizar ataques con herramientas profesionales
- ✅ Entender las mitigaciones y correcciones
- ✅ Aplicar técnicas de bypass de protecciones
---
**¡Buena suerte y feliz aprendizaje!** 🚀