📜  OpenDoor – Kali Linux 中的 OWASP 目录访问扫描器(1)

📅  最后修改于: 2023-12-03 15:03:22.923000             🧑  作者: Mango

OpenDoor – Kali Linux 中的 OWASP 目录访问扫描器

介绍:

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 重定向,则表示存在该目录的可能性。