Share
## 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!** 🚀