Entrada

SQLI Lab 2

SQLI Lab 2

Skills

  • SQL injection vulnerability allowing login bypass

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Este laboratorio contiene una vulnerabilidad de inyección SQL en la función de inicio de sesión. Para resolver el laboratorio, hay que realizar una inyección SQL que inicie sesión en la aplicación como el usuario administrador


Resolución

Al acceder a la web nos sale esto

Vemos que hay un apartado llamado My account, si pinchamos en él, nos llevará a un panel de login

Introducimos administrator' or 1=1-- - en el campo username y cualquier cosa en el campo password

Hemos logrado baipasear el panel de login, esto se debe a que por detrás, la consulta que se está realizando debe de ser parecida a esta

1
SELECT * FROM users WHERE username = 'user' AND password = 'password'

Entonces, con nuestra inyección SQL estamos cerrando la comilla ' que está abierta, posteriormente estamos introduciendo una condición que siempre es verdadera, la cual es un OR lo que hace que independientemente del nombre introducido accederemos al panel administrativo. La última parte sirve para ignorar el resto de la sentencia SQL

1
SELECT * FROM users WHERE username = ''OR 1=1 -- - ' AND password = 'password';
Esta entrada está licenciada bajo CC BY 4.0 por el autor.