Exploiting NoSQL operator injection to bypass authentication
Link: https://portswigger.net/web-security/nosql-injection/lab-nosql-injection-bypass-authentication
Description:
The login functionality for this lab is powered by a MongoDB NoSQL database. It is vulnerable to NoSQL injection using MongoDB operators.
To solve the lab, log into the application as the administrator user.
You can log in to your own account using the following credentials: wiener:peter.
Preparation:
Install extension browser Cookie-Editor
Proof of concept:
Analisa pada web taget

Ketika diinjeksikan paylaod basic NoSQL bypass authentication tampil pesan kesalahan yang memungkinkan bahwa form login tersebut rentan terhadap NoSQL Injection


Ketika menginjeksikan payload bypass authentication menggunakan
{”$ne”: null}pada parameterpassworddan menggunakanwieneruntuk data username nya, maka berhasil login ke userwienertanpa menggunakan password asli
Namun ketika menggunakan teknik yang sama dengan username
administrator, hal tersebut tidak berhasil dengan errorInvalid username or password. Dapat disimpulkan bahwa akunadministratortersebut tidak menggunakan usernameadministrator
Untuk tetap dapat melakukan bypass authentication ke akun administrator dengan keadaan tidak mengetahui username lengkap dari username
administratordapat menggunakan payload injection{”$regex”:”admin.*”}pada parameterusernamedengan payload pada parameterpasswordsama dengan langkah sebelumnya
Seperti yang dapat dilihat pada gambar diatas menunjukan bahwa berhasil login ditandai didapatinya
session akun administrator. Copy session tersebut, buka browser dan paste cookie session tersebut ke Cookie-Editor agar browser tersebut menggunakan session admin sehingga tangtangan lab ini berhasil terselesaikan

Thanks, Stay Ethical & Happy Hacking! 🍻
Last updated