Lab: SQL injection vulnerability allowing login bypass

Vulnerabilidad de inyección SQL que permite eludir el inicio de sesión.

Información del laboratorio

https://portswigger.net/web-security/sql-injection/lab-login-bypassarrow-up-right

En este laboratorio hay una vulnerabilidad de inyección SQL en la funcionalidad de inicio de sesión.

Cuando el usuario inicia sesión, la aplicación realiza una consulta SQL como la siguiente:

SELECT * FROM users WHERE username = 'wiener' AND password = 'bluecheese'

El objetivo del laboratorio es iniciar sesión como el usuario administrator.

Flujo de explotación

Captura de la petición

Se accede al panel de inicio de sesión y se insertan unas credenciales para capturar la petición y posteriormente poder alterarla:

Petición alterada para iniciar sesión como administrator

Si queremos iniciar sesión como el usuario administrador, necesitamos alterar la consulta de forma que podamos iniciar sesión sin necesidad de insertar una contraseña válida, eso lo podemos realizar, por ejemplo con el payload '--:

Se inserta el payload en la petición:

Como se observa en la respuesta, se redirige a la sección de "My account" del usuario administrator y se establece una cookie de sesión, confirmando que la consulta se ha ejecutado correctamente:

Última actualización