Exploit SQL Injection
Objetivo
Determinar si input controlado por el usuario puede alterar la lógica de queries SQL de forma que cambie acceso, datos o comportamiento.
Supuestos
- uno o más endpoints envían input no confiable a una capa de base de datos
- la construcción de queries puede no estar parametrizada de forma segura en todos lados
- las features secundarias suelen ser más débiles que los flujos principales
Prerrequisitos
- endpoints con input controlado por usuario
- capacidad de hacer replay y comparar requests
- entorno de prueba seguro y autorización para probe
Pasos de recon
- Mapeá todo input controlado por usuario: query params, forms, JSON, cookies, headers.
- Buscá filtros, sorting, búsqueda, exports y features solo-admin.
- Notá comportamiento de errores, timing y cambios de contenido.
Pasos de exploit / testing
- Enviá probes simples de sintaxis para detectar influencia sobre el parser.
- Probá diferencias booleanas y de timing cuando corresponda.
- Compará comportamiento de éxito/falla entre endpoints.
- Probá inputs menos obvios como headers, params ocultos o rutas mobile/API.
- Confirmá si el issue es read-only, auth bypass o control más amplio de query.
Señales de validación
- errores SQL o stack traces
- diferencias de contenido bajo condiciones booleanas
- diferencias de timing medibles
- comportamiento de auth o acceso a datos cambia inesperadamente
Mitigación
- parametrizar queries de forma consistente
- evitar concatenación raw de strings
- limitar privilegios de DB
- revisar query-building helpers y ORMs por escape hatches inseguros
- monitorear patrones sospechosos de queries de forma segura
Logging / detección
- probes repetitivos con forma de sintaxis
- patrones anormales de timing de query
- errores alrededor de parsing de query o type coercion
Notas relacionadas
Referencias
- Testing / Lab: PortSwigger SQL injection topic — https://portswigger.net/web-security/sql-injection
- Fundamental: OWASP Top 10 Injection — https://owasp.org/Top10/2021/A03_2021-Injection/
- Fundamental: OWASP WSTG — https://owasp.org/www-project-web-security-testing-guide/latest/