hackthebox系列——Fuzzy

轉自個人博客:0pt1mus

打開實例後的網站。

點擊任何位置,都沒有反應,查看源碼後分析,該頁面沒有任何鏈接能夠到其他地方,因此通過工具爆破目錄。

這裏使用dirmap工具。

python dirmap.py -i http://docker.hackthebox.eu:31822/ -lcf

注:-lcf表示的是讀取配置文件,dirmap不支持通過命令行詳細配置,通過github下載dirmap後,可以通過包中的README.md進行學習。

得到其中存在/api的目錄,嘗試訪問,發現無法訪問,那麼就再api目錄下再進行查找發現,掃不到東西了,那麼我們換個思路,是不是在這個目錄下就有我們需要的文件吶。

我們通過chrome插件Wappalyzer知道該網站的編程語言是PHP。

我們使用dirmap的fuzz模式,掃描api目錄下的.php文件。

 python dirmap.py -i http://docker.hackthebox.eu:31822/api/\{dir\}.php -lcf

訪問action.php。

提示沒有設置屬性值,那麼現在要猜解傳遞的屬性名,我們通過wfuzz來猜解。

wfuzz --hh 24 -c -w /usr/share/wordlists/dirb/big.txt http://docker.hackthebox.eu:31891/api/action.php?FUZZ

參數解釋:

參數 解釋
-c 輸出帶顏色,好看
-w 指定字典
–hh 如下圖,wfuzz的輸出中有這幾項,–hh代表了chars這一列,後面設置的值爲當chars值爲該值時隱藏,這裏表示的就是chars爲24時隱藏。其他三者分別爲–hc(response)、–hl(lines)、–hw(word)。

這裏詳細解釋一下參數--hc/--hl/--hw--hh

參數 解釋
–hc 通過返回的狀態碼進行過濾
–hl 通過返回的內容的行數
–hw 通過返回的內容的字數
–hh 通過返回的內容的字符數

我們這裏選擇字符是因爲,觀察直接訪問action.php的返回,是一串字符,我們可以猜想當正確的屬性名被請求時,返回的字符的數量肯定是不同。

這裏的24是我們先運行一次不加–hh的參數的時候,發現chars這一列的值是24。

運行後得到結果。

然後訪問後,提示需要正確的ID值。

因此繼續通過wfuzz來進行猜測具體ID值。

wfuzz --hh 27 -c -z range,0-100 http://docker.hackthebox.eu:31891/api/action.php?reset=FUZZ

參數解釋:

參數 解釋
-z 設置payload的類型,這裏是設置一個隊列,範圍在0-100。

最後得到正確的值爲20。

通過網站正常請求後,得到最後的flag。

總結

在這次的實驗中,因爲中間選擇字典的問題,wfuzz一直沒有爆破出正確的參數名,在仔細看了別人的wp之後,才發現自己用的和別人的不一樣,但是這裏就又有了一個新的問題,在進行這些敏感目錄、敏感文件、參數猜測的爆破時候,選擇字典的依據是什麼,什麼情況下選擇怎樣的字典,這個問題需要弄清楚。

然後貼上兩個github上的字典:

fuzzdb

seclists

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章