🇰🇷 한글 설명
phpBP RC3 이전 버전의 index.php에서 파일 업로드 검증 부족으로 발생하는 취약점입니다. 관리자가 다중 확장자 파일명(.jpg.vil.gif.php)으로 임의의 PHP 코드를 upload/banners/ 디렉토리에 업로드할 수 있으며, 직접 요청하여 실행 가능합니다.
💡 쉬운 설명
사진 업로드 기능을 악용하여 해킹 코드(PHP)를 서버에 업로드할 수 있는 문제입니다. 업로드된 코드를 웹에서 직접 실행하면 서버 전체를 장악당할 수 있습니다.
🇺🇸 원문 (English)
Unrestricted file upload vulnerability in index.php in phpBP RC3 (2.204) and earlier allows remote administrators to inject arbitrary PHP code into an upload/banners/ file via a banners add operation that uploads the PHP code through an image_form parameter specifying a multiple-extension filename such as .jpg.vil.gif.php, which is stored in upload/banners/ under a different name, and executable via a direct request. NOTE: a separate SQL injection issue could be leveraged to make this vulnerability reachable by remote unauthenticated attackers.
📍 영향받는 시스템
phpBP RC3 (2.204) 및 이전 모든 버전
⚔️ 공격 벡터
관리자 또는 SQL 인젝션으로 인증 우회한 공격자가 image_form 매개변수로 다중 확장자 파일을 배너 업로드 기능에 전송
🛡️ 대응 방법
최신 버전으로 업그레이드, 파일 확장자 화이트리스트 검증 적용, upload/banners 디렉토리의 PHP 실행 권한 제거
🔧 검증 코드
명령어 실행 후 phpBP index.php 파일 경로가 반환되면 해당 경로의 phpBP 설치를 확인하고, banners 업로드 기능 관련 코드를 검토하여 확장자 검증 로직 부재 확인
find /var/www/html -name index.php -path '*phpbp*' 2>/dev/null | head -1