目錄遍歷漏洞也可以叫做信息泄露漏洞、非授權文件包含漏洞等.
原理:目錄遍歷漏洞的原理比較簡單,就是程序在實現上沒有充分過濾用戶輸入的../之類的目錄跳轉符,導致惡意用戶可以通過提交目錄跳轉來遍歷服務器上的任意文件。
這里的目錄跳轉符可以是../,也可是../的ASCII編碼或者是unicode編碼等
當我們依次點擊,會有兩條url。
http://127.0.0.1:1000/pikachu/vul/dir/dir_list.php?title=jarheads.php
http://127.0.0.1:1000/pikachu/vul/dir/dir_list.php?title=truman.php
那我們可以猜測,假設他過濾存在問題,沒有對../進行有效過濾,那我們就可以訪問他的上級目錄dir.php
可以去做一下CVE-2021-41773。靶場環境:
Vulhub - Docker-Compose file for vulnerability environment
關于方法這里總結網上的:
雙寫繞過
如果服務器后臺過濾了…/,那我們可以輸入…/./ -> ../
return super.execute(file, fullName != null ? fullName.replace("../", "") : "");
編碼繞過
當服務器對../進行一個過濾是,我們可以進行url編碼,例如:?filename=%2e%2e%2f/etc/passwd