sábado, 14 de junio de 2025

02 SQL injection vulnerability allowing login bypass



 SQL injection


Este laboratorio presenta una vulnerabilidad de inyección SQL en la función de inicio de sesión (Login)

Para solucionarlo, realice un ataque de inyección SQL que inicie sesión en la aplicación como administrator.

Utilizaremos BurpSuite para interceptar y modificar el login request

Modificaremos el parámetro username y le agregaremos el siguiente valor administrator'--



1.    Accedemos al laboratorio 

https://portswigger.net/academy/labs/launch/befc0f5ddbc0e32a7adc4c9d4d286582f462f70bf32a8d5df15489d679dcd5c9?referrer=%2fweb-security%2fsql-injection%2flab-login-bypass

2.    Ponemos nuestro BurpSuite en modo interceptor

        


3.     Vamos a My account

    


4.    Desde BurpSuite le damos forward hasta que llegamos a la siguiente pantalla, aquí completamos con el username administrator y en el campo password ponemos lo que queramos y le vamos a dar a Log In

    





5. Cuando llegamos hasta la siguiente consulta debemos cambiar el valor del campo username por el           Siguiente valor 
administrator'-- Y le damos Forward

    



6.    Acá ingresamos un mail y le damos en update, con esto resolvemos el lab

    





Explicacion: 

' = Cierra cadena esperada

-- = comenta el resto de la consulta ignorando el AND password=...

Con esto omitimos el campo password y solo colocamos el username para poder enviarnos el mail a nuestra casilla y podes cambiar la contraseña


¿Para que se utiliza?

Se utiliza para burlar la autenticación en aplicaciones web que construyen sus consultas SQL sin validar correctamente la entrada del usuario.

¿Qué hace esta cadena?

Supongamos que una aplicación verifica usuarios con esta consulta:

SELECT * FROM users WHERE username = '[USUARIO]' AND password = '[CLAVE]';


Si vos ponés en el login:

° Usuario: administrator'--
° Contraseña: cualquier cosa (no importa)

SELECT * FROM users WHERE username = 'administrator'--' AND password = 'cualquiercosa';

° '-- cierra la cadena y comenta todo lo que sigue.
° Por eso, se ignora la verificación de la contraseña.

No hay comentarios.:

Publicar un comentario

05 - Lab: SQL injection UNION attack, determining the number of columns returned by the query

  Lab: SQL injection UNION attack, determining the number of columns returned by the query Para el siguiente laboratorio debemos modificar e...