
LAB

Al interceptar la solicitud del login vemos que podemos cambiar a una estructura con el fin de bypasear el login, el cual se procesa de correctamente.

Al querer usar la cuenta de carlos vemos que la respuesta es que la cuenta eta bloqueada.

Usando esta estructura podemos construir una query para buscar los campos que tiene la tabla.
{"username": {"$regex": "carlos"}, "password": {"$ne": null}, "$where":"Object.keys(this)[0].match('^.{0}a.*')"}El primer "$where":"Object.keys(this)[0] será encontrar el nombre de las columnas de la tabla y el match('^.{0}a.*') lo estaremos usando para iterando letra por letra el nombre de la columna.
"$where":"Object.keys(this)[0].match('^.{0}a.*')"}
Al realizar la solicitud en desde el intruder vemos que tenemos la primera columna, este es id

Luego vemos realizando la consultas y vemos que tenemos las siguiente columnas: id, usuario, password, email, forgotPwd,


{"username": {"$regex": "carlos"}, "password": {"$ne": null}, "$where":"this.forgotPwd.match('^.{0}a.*')"}
Al interar en la columna forgotPwd encontramos el valor para poder cambiar la contraseña:

544c8826c920df5eRealizando una solicitud a la siguiente ruta podemos cambiar la contraseña del usuario carlos.
/forgot-password?forgotPwd=544c8826c920df5e
