📅  最后修改于: 2023-12-03 15:03:22.923000             🧑  作者: Mango
介绍:
OpenDoor 是一款 OWASP 目录访问扫描器,它旨在测试 Web 应用程序的目录是否存在。OpenDoor 允许你指定要扫描的网站 URL,端口,并检测该网站的目录是否存在。
使用方法:
安装 OpenDoor:
git clone https://github.com/stanislav-web/OpenDoor.git
打开 OpenDoor 目录:
cd OpenDoor/
运行脚本:
python3 OpenDoor.py
输入 URL 和端口进行扫描:
Enter website URL (e.g., http://example.com): http://example.com
Enter website port (default 80):
扫描结果会显示在终端中:
[200] http://example.com/admin/
[403] http://example.com/manual/
[403] http://example.com/uploads/
[200] http://example.com/joomla/
[200] http://example.com/phpmyadmin/
[200] http://example.com/phpinfo.php
[200] http://example.com/test/
如上述结果,包含了若干个存在的和不存在的目录。
代码片段:
以下是 OpenDoor 主要代码片段,用于扫描目录是否存在:
for endpoint in endpoints:
url = urljoin(base_url, endpoint)
try:
response = requests.head(url, headers=headers, allow_redirects=False)
if response.status_code == 200:
print(f"\033[92m[200] {url}\033[0m")
discovered = True
# Handle 3xx redirect status codes
elif 300 <= response.status_code < 400:
location = response.headers.get("Location")
print(f"\033[93m[{response.status_code}] {url} -> {location}\033[0m")
...
except requests.exceptions.RequestException:
pass
以上代码使用 requests 库检测网站中给定目录的存在与否。如果返回状态是 200,则表示存在该目录;如果返回状态是 3xx 重定向,则表示存在该目录的可能性。