04 Lab: Exploiting NoSQL operator injection to extract unknown fields

Objetivo

The user lookup functionality for this lab is powered by a MongoDB NoSQL database. It is vulnerable to NoSQL injection.

To solve the lab, log in as carlos.

Solución

Cambia el valor del parámetro password de 'invalid' a {"$ne":"invalid"}, y luego envía la solicitud. Observa que ahora recibes un mensaje de error que dice 'Cuenta bloqueada'. No puedes acceder a la cuenta de Carlos, pero esta respuesta indica que el operador $ne ha sido aceptado y que la aplicación es vulnerable."

image.png
image.png

Cambia "$where": "0" a "$where": "1", y luego vuelve a enviar la solicitud. Observa que recibes un mensaje de error que dice 'Cuenta bloqueada'. Esto indica que el JavaScript en la cláusula $where está siendo evaluado

image.png

"$where":"Object.keys(this)[1].match('^.{}.*')”

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png


image.png
image.png
image.png
image.png
image.png

Otro campo aparte del email

image.png
image.png
Untitled

Last updated