
Python scanner for CVE-2025-49132 that exploits a path traversal in Pterodactyl Panel's locale endpoint to extract exposed database configuration data.
This tool is used to scan Pterodactyl panel instances and attempt to obtain their database configuration information. By exploiting a specific path traversal vulnerability, sensitive configuration data of the panel can be obtained.
This project is a high-performance HTTP request tool specifically designed to detect and collect configuration information of Pterodactyl panel instances exposed on the public internet. It sends specific requests to the target server, checks whether the response contains database configuration information, and saves the results by category.
requests library for HTTP requestsaiohttp to implement asynchronous request supportThreadPoolExecutor to implement multithreaded processing.
├── main.py # 主程序文件
├── url.txt # 目标主机列表文件
├── json/ # 输出目录
│ ├── ✔️正确/ # 包含目标数据的结果保存目录
│ └── ❌错误/ # 错误或无效结果保存目录
└── README.md # 项目说明文档
Before running the program, you need to install the required Python libraries:
pip install requests aiohttp urllib3
python main.py
By default, it reads the host list from the url.txt file and processes it in multithreaded mode.
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
The following settings can be modified in the Config class in the main.py file:
PROXY: Proxy server address (default: http://127.0.0.1:7899)TIMEOUT: Request timeout (default: 30 seconds)MAX_RETRIES: Maximum number of retries (default: 3)MAX_WORKERS: Maximum number of worker threads (default: 5)USER_AGENT: Request User-Agent (default: Mozilla/5.0 Windows AppleWebKit/537.36)/locales/locale.json path for each hostlocale: ../../../pterodactylnamespace: config/databasejson/✔️正确/json/❌错误/Results are saved in JSON format and contain the following information:
success: Whether the request succeededstatus_code: HTTP status coderesponse_time: Response timeurl: The actual request URLheaders: Response header informationdata: Response datasize: Response sizecontains_target_data: Whether it contains target datadatabase_info: Extracted database informationAfter execution completes, the program displays detailed statistics: