该工具用于扫描 Pterodactyl 面板实例,尝试获取其数据库配置信息。通过利用特定路径遍历漏洞,可以获取面板的敏感配置数据。
本项目是一个高性能的HTTP请求工具,专门用于检测和收集暴露在公网的Pterodactyl面板实例的配置信息。它通过向目标服务器发送特定请求,检查响应中是否包含数据库配置信息,并将结果分类保存。
requests 库进行HTTP请求aiohttp 实现异步请求支持ThreadPoolExecutor 实现多线程处理.
├── main.py # 主程序文件
├── url.txt # 目标主机列表文件
├── json/ # 输出目录
│ ├── ✔️正确/ # 包含目标数据的结果保存目录
│ └── ❌错误/ # 错误或无效结果保存目录
└── README.md # 项目说明文档
在运行程序前,需要安装所需的Python库:
pip install requests aiohttp urllib3
python main.py
默认会读取 url.txt 文件中的主机列表,并使用多线程模式进行处理。
python main.py [--file FILE] [--mode MODE] [--workers WORKERS]
参数说明:
-f, --file: 指定主机列表文件路径(默认: url.txt)-m, --mode: 执行模式,可选值: threading(多线程), async(异步), single(单线程)(默认: threading)-w, --workers: 工作线程数(默认: 5)# 使用默认设置
python main.py
# 指定自定义主机文件
python main.py --file hosts.txt
# 使用异步模式处理
python main.py --mode async
# 使用单线程模式
python main.py --mode single
# 设置工作线程数为10
python main.py --workers 10
在 main.py 文件中的 Config 类中可以修改以下配置:
PROXY: 代理服务器地址(默认: http://127.0.0.1:7899)TIMEOUT: 请求超时时间(默认: 30秒)MAX_RETRIES: 最大重试次数(默认: 3次)MAX_WORKERS: 最大工作线程数(默认: 5)USER_AGENT: 请求User-Agent(默认: Mozilla/5.0 Windows AppleWebKit/537.36)/locales/locale.json 路径locale: ../../../pterodactylnamespace: config/databasejson/✔️正确/json/❌错误/结果以JSON格式保存,包含以下信息:
success: 请求是否成功status_code: HTTP状态码response_time: 响应时间url: 实际请求URLheaders: 响应头信息data: 响应数据size: 响应大小contains_target_data: 是否包含目标数据database_info: 提取的数据库信息程序执行完成后会显示详细统计信息: