Lab 2 SQLi PortSwigger Academy

Este laboratorio contiene una inyección SQL en el formulario de inicio de sesión. Para la resolución de este laboratorio utilizaremos el nombre de usuario administrator.

Nos dirigimos a la página de inicio de sesión.

Cuando introducimos un nombre de usuario y contraseña, la cadena de consulta se verá así:

SELECT * FROM users WHERE username = ‘administrator’ AND password = ‘password’

Ingresamos una comilla simple en el nombre de usuario e inicio de sesión (hacemos lo mismo con la contraseña). Ambas comillas nos dan como resultado un error interno del servidor, lo que nos podría indicar que el formulario es vulnerable a la inyección SQL.

Vamos a ingresar: administrator’ or 1=1–

La cadena de consulta queda de la siguiente manera:

SELECT * FROM users WHERE username = ‘administrator’ or 1=1–’ AND password = ‘password’

Independientemente de si el usuario administrator es un nombre de usuario válido o no, ya 1=1 que siempre devolverá verdadero y — comentará el resto de la declaración. Esto significa que vamos a poder iniciar sesión con el primer usuario de la tabla de usuarios.

Si ingresamos administrator’ or 1=1–

La consulta queda de la siguiente manera:

SELECT * FROM users WHERE username = ‘administrator’–’ AND password = ‘password’

En la consulta anterior, dado que ‘AND password = ‘password’ está comentado y el nombre de usuario es ‘administrator’, nos iniciará en la cuenta de administrador.

El laboratorio queda resuelto.

No responses yet

Deja una respuesta

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