在本文中,咱們將重點介紹使用Kali Linux工具DIRB的臨時目錄,並嘗試在Web服務器中查找隱藏的文件和目錄。php
一個路徑遍歷攻擊也被稱爲「目錄遍歷」目標訪問的文件和目錄存儲在Web根文件夾以外。經過使用帶有「 ..」的序列的引用文件及其變體來操縱變量,或者使用絕對文件路徑,能夠訪問存儲在文件系統上的任意文件和目錄,包括應用程序源代碼,配置,和重要的系統文件。node
要求web
目標-BWAPP實驗室,DVWA實驗室,shell
攻擊者– Kali Linux瀏覽器
本文的內容安全
DIRB介紹服務器
利用多個單詞表進行目錄遍歷微信
Dirb的默認工做cookie
列舉具備特定擴展名列表的目錄網絡
將輸出保存到磁盤
忽略沒必要要的狀態碼
默認工做Vs在警告消息中不中止工做
速度延遲
不遞歸(-r)
顯示不存在頁面
擴展列表(-X參數)與擴展頭(-H參數)
不對網址(-t)強制使用結尾的「 /」
HTTP身份驗證(-u用戶名:密碼)
什麼是DIRB?
DIRB是一個Web內容掃描程序。它查找現有的(和/或隱藏的)Web對象。它基本上是經過對Web服務器發起基於字典的攻擊並分析響應來工做的。
它帶有一組易於使用的預配置攻擊詞表,但您可使用自定義詞表。此外,DIRB有時能夠用做經典的CGI掃描儀,但請記住是內容掃描儀,而不是漏洞掃描儀。
主要目的是幫助進行專業的Web應用程序審覈。特別是在與安全性相關的測試中。它涵蓋了經典Web漏洞掃描程序未涵蓋的一些漏洞。DIRB尋找其餘通用CGI掃描程序沒法找到的特定Web對象。它既不搜索漏洞,也不搜索容易受到攻擊的Web內容。
資料來源:https://tools.kali.org/web-applications/dirb
工具DIRB是內置的Kali Linux。打開終端並鍵入如下命令以獲取軟件包中包含的工具的概述:
rb
-a <agent_string>:指定您的定製USER_AGENT。 -c <cookie_string>:爲HTTP請求設置cookie。 -f:精細調整NOT_FOUND(404)檢測。 -H <header_string>:將自定義標頭添加到HTTP請求。 -i:使用不區分大小寫的搜索。 -l:找到時打印「 Location」標題。 -N <nf_code>:忽略此HTTP代碼的響應。 -o <輸出文件>:將輸出保存到磁盤。 -p <代理[:端口]>:使用此代理。(默認端口爲1080) -P <proxy_username:proxy_password>:代理身份驗證。 -r:不要遞歸搜索。 -R:交互式遞歸。(詢問每一個目錄) -S:靜默模式。不要顯示通過測試的單詞。(用於啞終端) -t:不要在網址上強制使用結尾的「 /」。 -u <用戶名:密碼>:HTTP身份驗證。 -v:也顯示NOT_FOUND頁。 -w:不要在警告消息上中止。 -X <擴展名> / -x <擴展名文件>:在每一個單詞後加上該擴展名。 -z:添加毫秒延遲,以避免致使過多的Flood。
利用多個單詞表進行目錄遍歷
上面的攻擊經過使用默認的wordlist_files common.txt起做用,可是咱們能夠更改此單詞列表,並能夠選擇另外一個單詞列表進行目錄遍歷。您必須按照如下路徑查看全部可用的單詞表。
1234 |
cd /usr/share/wordlists/dirbls –lacd /usr/share/wordlists/vulnsls -la |
您能夠從下面的圖像中看到,有不少文本文件做爲wordlist。咱們能夠根據須要使用它們。
Dirb的默認工做
在此攻擊中,common.txt被設置爲目錄遍歷的默認單詞列表,抗議者可使用如下命令。打開終端,而後鍵入如下命令以啓動「布魯塞爾電話簿」攻擊。
1 |
dirb http://192.168.1.106/dvwa/ |
DIRB使用common.txt文件返回在目標URL中找到的枚舉目錄,以下圖所示。
列舉具備特定擴展名列表的目錄
在不少狀況下,咱們須要在目標服務器上提取特定擴展名的目錄,而後可使用dirb掃描的-X參數。此參數接受文件擴展名,而後在目標服務器或計算機上搜索給定的擴展名文件。
1 |
dirb http://192.168.1.106/dvwa/ -X .php |
上面的命令將提取與php擴展名相關的全部目錄路徑,以下圖所示。
將輸出保存到磁盤
出於記錄維護,更好的可讀性和未來參考的目的,咱們將dirb掃描的輸出保存到文件中。爲此,咱們將使用dirb掃描的參數-o能夠將dirb掃描的輸出保存在文本文件中。
1 |
dirb http://192.168.1.106/dvwa/ -o output.txt |
上面的命令將在枚舉目錄的桌面上生成一個output.txt文件。
既然咱們已經成功執行了命令,如今讓咱們遍歷該位置以確保輸出是否已經保存在文件上。在這種狀況下,咱們的輸出位置是/root/output.txt。
忽略沒必要要的狀態碼
Status-Code元素是一個3位整數,其中Status-Code的第一位定義響應的類別,然後兩位不具備任何分類做用。在這種攻擊中,咱們在代碼302上使用–N參數,以下所示。
1 |
dirb http://192.168.1.106/dvwa/ -N 302 |
從給定的屏幕快照中您能夠了解到,dirb掃描忽略了NOT FOUND代碼302。
默認工做與警告消息不間斷不間斷工做
在以下所示的常規Dirb掃描期間,某些頁面會生成警告;Dirb掃描會跳過那些遇到任何警告的目錄。
1 |
dirb http://192.168.1.106/ |
在進行很是深刻且冗長的掃描時,咱們但願dirb掃描不要避免這些警告並進行深刻掃描,所以咱們使用dirb掃描的-w參數。
1 |
dirb http://192.168.1.106/ -w |
如您所見,即便在默認掃描中缺乏警告消息以後,也會列出突出顯示的目錄/ dev / shell。
速度延遲
在不一樣狀況下工做時,咱們遇到了某些環境,沒法處理由Dirb掃描建立的泛洪,所以在這些環境中,將掃描延遲一段時間是很重要的。使用dirb掃描的-z參數能夠輕鬆完成此操做。在此參數中,以毫秒爲單位提供時間。就像在給定示例中所示,咱們給了100秒的延遲。
1 |
dirb http://192.168.1.106/dvwa -z 100 |
不遞歸(-r)
默認狀況下,dirb掃描以遞歸方式掃描目錄。這意味着它將掃描目錄,而後遍歷該目錄以掃描更多子目錄。可是在某些狀況下,若是時間不足,咱們會將Dirb設置爲不遞歸掃描。這可使用-r參數來實現。
1 |
dirb http://192.168.1.106/dvwa -r |
顯示不存在頁面
404錯誤是HTTP狀態代碼,這意味着您嘗試在其網站上訪問的頁面沒法在其服務器上找到。404 Not Found錯誤消息常常由各個網站定製。在某些狀況下,咱們也須要找到404頁,默認狀況下,dirb會跳過。要查找這些頁面,咱們將使用-v參數。
1 |
dirb http://192.168.1.106/dvwa -v |
從下面的圖像中能夠看到,它還提取了全部與404錯誤相關的目錄。
擴展列表(-X參數)與擴展頭(-H參數)
經過將–X參數與具備特定擴展名(例如.php)的目標URL一塊兒使用,它枚舉了全部具備.php擴展名的文件或目錄,但經過將–H參數與特定擴展名一塊兒使用(例如.php與目標URL一塊兒)它將枚舉用php命名的全部文件或目錄,以下圖所示。
1 |
dirb http://192.168.1.106/dvwa -H .php |
不對網址(-t)強制使用結尾的「 /」
從前面狀況中使用的攻擊開始,爲了運行dirb工具,咱們將不得不在URL的末尾添加一個正斜槓(/)以便在dirb中接受。爲了檢查咱們是否須要對URL末尾進行一次無正斜槓的攻擊。
1 |
dirb http://192.168.1.105/bwapp/portal.php |
您會發現,因爲缺乏正斜槓,所以掃描未成功執行,咱們在本文前面已討論了其重要性。
使用相同的命令並進行一些更改後再次嘗試這種攻擊,所以,要運行該命令,咱們必須在上一個命令中添加-t。
1 |
dirb http://192.168.1.105/bwapp/portal.php -t |
如今,咱們能夠觀察到即便沒有正斜槓,咱們仍然能夠成功執行dirb掃描。
HTTP受權(-u用戶名:密碼)
HTTP身份驗證/身份驗證機制所有基於401狀態代碼和WWW身份驗證 響應標頭的使用。最普遍使用的 HTTP身份驗證 機制是 Basic。客戶端將用戶名和密碼做爲未加密的base64編碼文本發送。
所以,爲了在dirb的幫助下繞過這種身份驗證,咱們使用瞭如下命令:
1 |
dirb http://testphp.vulnweb.com/login.php -u test:test |
結果,將顯示測試的狀態碼200:目標URL上的測試和受權憑證。
代理網址
使用– p選項可將代理URL用於全部請求,默認狀況下,它可在端口1080上使用。您能夠觀察到,在Web瀏覽器中瀏覽目標網絡IP時,它顯示了「禁止訪問錯誤」,這表示該網頁是在某些代理後面運行。
爲了確保這一預測,咱們兩次運行了dirb命令,首先在默認狀況下在端口80上運行,再在端口3129上運行–p選項(啓用代理參數)。
12 |
dirb http://192.168.1.108dirb http://192.168.1.108 –p 192.168.1.108:3129 |
從下面給出的圖像中,您能夠參考從以上命令得到的輸出結果,這裏在執行第一個命令時沒有得到任何目錄或文件,而在第二個命令中其餘執行成功了。
本文分享自微信公衆號 - 網絡安全與信息技術(chuanqzk)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。