FDsploit:檔案包含路徑回溯漏洞的挖掘列舉和利用
FDsploit是一個件包含/路徑回溯漏洞的挖掘列舉和利用工具。
FDsploit可自動化的為我們發現和利用本地/遠端檔案包含及目錄遍歷漏洞。如果發現了LFI漏洞,可以使用–lfishell選項來進行利用。目前,支援以下3種不同型別的LFI shell:
simple: 這種型別的shell允許使用者輕鬆讀取檔案,而無需每次都輸入URL。 此外,它只提供檔案的輸出,而不是頁面的整個html原始碼,這使得它非常實用。 expect: 這種型別的shell是一個半互動式shell,允許使用者通過PHP的expect:// wrapper執行命令。 input: 這種型別的shell是一個半互動式shell,允許使用者通過PHP的php://input流執行命令。
到目前為止,只有兩個lfi-shell內建命令:
clear exit
特性
LFI-shell介面僅提供已處理檔案或發出命令的輸出,而不是所有html程式碼。
可以指定3種不同型別的LFI shell。
支援GET/POST請求。
自動檢測GET引數。
可以使用萬用字元(*)指定某些引數進行測試。
可以指定和使用可選的會話cookie。
可以使用PHP函式自動檢查RCE。
使用sha-256 hash識別潛在的漏洞。
支援base64/urlencoding。
示例
1.目錄遍歷漏洞發現:
從下面的輸出來看,directory引數可能易受到目錄遍歷漏洞的影響,因為每個使用../作為payload的請求都會產生不同的sha-256雜湊。每個請求的內容長度也不同:
./fdsploit.py -u 'http://127.0.0.1:8888/test/bWAPP/bWAPP/directory_traversal_2.php?directory=documents' -c 'PHPSESSID=7acf1c5311fee614d0eb40d7f3473087; security_level=0' -d 8
2. LFI漏洞發現:
同樣, language引數易受到LFI漏洞的影響,因為使用../etc/passwd等作為payload,每個綠色的請求都會產生不同的雜湊,與初始值不同的內容長度,並且指定的關鍵字在響應中:
./fdsploit.py -u 'http://127.0.0.1:8888/test/bWAPP/bWAPP/rlfi.php?language=*&action=go' -c 'PHPSESSID=7acf1c5311fee614d0eb40d7f3473087; security_level=0' -d 7 -k root -p /etc/passwd
3.使用simple shell進行LFI利用:
使用simple shell利用上面的LFI:
注意:
使用POST時,還必須指定–params選項。
要測試目錄遍歷漏洞,必須將–payload選項保留為預設值(None)。
當–file選項用於多URL測試時,則僅支援GET請求。
如果同時設定了–file和–cookie選項,那麼每次url必須在同一個域上引用時才可以指定一個cookie,或者在沒有cookie的情況下可以訪問(這將在未來的更新中修復)。
input shell與POST不相容。
安裝依賴
pip install -r requirements.txt --upgrade --user
未來計劃
修復以上第4條,讓–file可以與POS引數和cookies工作,可能會使用json等檔案作為輸入。
向–lfishell新增更多內建命令,如history等。
貢獻和反饋
如果你願意為該專案貢獻你的一份力或對該專案有任何意見或建議,那麼歡迎你隨時通過issue提交他們。我們會盡快的稽核並解決它!謝謝!
*參考來源: GitHub ,FB小編secist編譯,轉載請註明來自FreeBuf.COM