
CVE-2025-49132에 취약한 Pterodactyl 패널의 자격 증명을 제공하는 스크립트
/locales/locale.json에 locale 및 namespace 쿼리 매개변수를 사용하여 인증 없이 임의 코드를 실행할 수 있었습니다. 임의 코드를 실행할 수 있게 되면 패널 서버에 액세스하고, 패널 구성에서 자격 증명을 읽고, 데이터베이스에서 민감한 정보를 추출하고, 패널에서 관리하는 서버의 파일에 액세스하는 등의 작업에 사용될 수 있습니다. 이 문제는 버전 1.11.11에서 패치되었습니다. 이 취약점에 대한 소프트웨어 해결 방법은 없지만, 외부 웹 애플리케이션 방화벽(WAF)을 사용하면 공격을 완화하는 데 도움이 될 수 있습니다.공격자는 /locales/locale.json에 GET 요청을 보냅니다. 응답이 JSON을 반환하고 URL에 hash= 매개변수가 포함되어 있지 않으면 CVE-2025-49132에 취약합니다.
취약점을 악용하려면 locale=과 namespace= 매개변수를 동시에 사용하여 PHP 파일만 읽어야 하며, 선택한 PHP 파일에 저장된 변수가 포함된 JSON 응답을 받게 됩니다.
예시: /locales/locale.json?locale=../../../pterodactyl&namespace=config/database
더 흥미로운 PHP 파일을 읽으려면 공식 Pterodactyl 저장소를 확인해보세요 ^^
다음 명령으로 데이터베이스 자격 증명을 가져옵니다: python3 CVE-2025-49132_PoC.py.py <url>
users 테이블에 자신의 Pterodactyl 계정을 생성하기만 하면 됩니다이 시점에서 리버스 셸을 얻는 방법을 알기 위한 기본적인 침투 테스트 지식이 있어야 합니다.