
Pterodactyl Panel의 로케일 엔드포인트에서 경로 순회를 악용하여 노출된 데이터베이스 구성 데이터를 추출하는 CVE-2025-49132용 Python 스캐너입니다.
이 도구는 Pterodactyl 패널 인스턴스를 스캔하여 데이터베이스 구성 정보를 획득하려고 시도합니다. 특정 경로 순회 취약점을 이용하여 패널의 민감한 구성 데이터를 획득할 수 있습니다.
이 프로젝트는 공용 인터넷에 노출된 Pterodactyl 패널 인스턴스의 구성 정보를 탐지하고 수집하기 위한 고성능 HTTP 요청 도구입니다. 대상 서버에 특정 요청을 전송하여 응답에 데이터베이스 구성 정보가 포함되어 있는지 확인하고, 결과를 분류하여 저장합니다.
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 경로로 HTTP GET 요청을 보냅니다locale: ../../../pterodactylnamespace: config/databasejson/✔️正确/json/❌错误/결과는 JSON 형식으로 저장되며 다음 정보를 포함합니다:
success: 요청 성공 여부status_code: HTTP 상태 코드response_time: 응답 시간url: 실제 요청 URLheaders: 응답 헤더 정보data: 응답 데이터size: 응답 크기contains_target_data: 대상 데이터 포함 여부database_info: 추출된 데이터베이스 정보프로그램 실행 완료 후 상세 통계 정보가 표시됩니다: