🇰🇷 한글 설명
PHP-Nuke 8.0 이하 버전의 mainfile.php에서 lang 매개변수를 통해 디렉토리 순회(Directory Traversal) 취약점이 존재합니다. 공격자는 ../ (상위 디렉토리) 문자열을 이용하여 웹 루트 외부의 임의의 파일을 읽을 수 있습니다.
💡 쉬운 설명
PHP-Nuke라는 웹사이트 관리 프로그램에서 폴더 이름을 속여서 다른 폴더에 접근할 수 있는 문제입니다. 공격자가 특정 주소에 ../ 명령을 추가하면 본래 볼 수 없는 파일들을 볼 수 있게 됩니다.
🇺🇸 원문 (English)
Directory traversal vulnerability in mainfile.php in PHP-Nuke 8.0 and earlier allows remote attackers to read arbitrary files via a .. (dot dot) in the lang parameter.
📍 영향받는 시스템
PHP-Nuke 8.0 이하 모든 버전
⚔️ 공격 벡터
HTTP 요청의 lang 파라미터에 ../ 문자열을 삽입하여 mainfile.php에 상위 디렉토리 경로 전달 (예: ?lang=../../../../etc/passwd)
🛡️ 대응 방법
PHP-Nuke를 최신 버전으로 업그레이드하거나, lang 파라미터에 대한 입력 검증을 강화하여 ../ 같은 경로 순회 문자열 필터링
🔧 검증 코드
mainfile.php 파일이 발견되고 lang 변수 처리가 있으면 PHP-Nuke 설치가 확인됩니다. 버전 확인은 설치 디렉토리의 버전 파일이나 소스코드 주석에서 확인 가능합니다.
find /var/www -name 'mainfile.php' 2>/dev/null | head -1 | xargs grep -l 'lang' 2>/dev/null && echo 'Vulnerable version likely present'