
Scanner em Python para CVE-2025-49132 que explora uma path traversal no endpoint de locale do Pterodactyl Panel para extrair dados de configuração de banco de dados expostos.
Esta ferramenta é usada para escanear instâncias do painel Pterodactyl, tentando obter suas informações de configuração de banco de dados. Ao explorar uma vulnerabilidade específica de path traversal, é possível obter dados de configuração sensíveis do painel.
Este projeto é uma ferramenta de requisições HTTP de alto desempenho, projetada especificamente para detectar e coletar informações de configuração de instâncias do painel Pterodactyl expostas na internet pública. Ela envia requisições específicas ao servidor de destino, verifica se a resposta contém informações de configuração de banco de dados e salva os resultados classificados.
requests para fazer requisições HTTPaiohttp para oferecer suporte a requisições assíncronasThreadPoolExecutor para implementar processamento multithread.
├── main.py # 主程序文件
├── url.txt # 目标主机列表文件
├── json/ # 输出目录
│ ├── ✔️正确/ # 包含目标数据的结果保存目录
│ └── ❌错误/ # 错误或无效结果保存目录
└── README.md # 项目说明文档
Antes de executar o programa, é necessário instalar as bibliotecas Python necessárias:
pip install requests aiohttp urllib3
python main.py
Por padrão, lê a lista de hosts do arquivo url.txt e processa em modo multithread.
python main.py [--file FILE] [--mode MODE] [--workers WORKERS]
Parâmetros:
-f, --file: especifica o caminho do arquivo de lista de hosts (padrão: url.txt)-m, --mode: modo de execução, valores possíveis: threading(multithread), async(assíncrono), single(thread única) (padrão: threading)-w, --workers: número de threads de trabalho (padrão: 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
Na classe Config do arquivo main.py, é possível modificar as seguintes configurações:
PROXY: endereço do servidor proxy (padrão: http://127.0.0.1:7899)TIMEOUT: tempo limite da requisição (padrão: 30 segundos)MAX_RETRIES: número máximo de tentativas (padrão: 3)MAX_WORKERS: número máximo de threads de trabalho (padrão: 5)USER_AGENT: User-Agent da requisição (padrão: Mozilla/5.0 Windows AppleWebKit/537.36)/locales/locale.jsonlocale: ../../../pterodactylnamespace: config/databasejson/✔️正确/json/❌错误/Os resultados são salvos em formato JSON, contendo as seguintes informações:
success: se a requisição foi bem-sucedidastatus_code: código de status HTTPresponse_time: tempo de respostaurl: URL real da requisiçãoheaders: informações dos cabeçalhos da respostadata: dados da respostasize: tamanho da respostacontains_target_data: se contém os dados alvodatabase_info: informações do banco de dados extraídasApós a conclusão da execução, o programa exibirá estatísticas detalhadas: