🇰🇷 한글 설명
PHP Site Lock 2.0의 index.php에서 세션 검증 부재로 인해 원격 공격자가 login_id, group_id, login_name, user_id, user_type 쿠키를 조작하여 인증을 우회하고 관리자 권한을 획득할 수 있는 취약점입니다. 클라이언트 측 쿠키만 신뢰하는 부실한 인증 메커니즘이 원인입니다.
💡 쉬운 설명
웹사이트가 사용자가 보낸 쿠키(작은 텍스트 파일)만 확인해서 누가 관리자인지 판단하기 때문에, 악의적인 사용자가 쿠키를 위조해서 로그인 없이 관리자로 접속할 수 있습니다. 마치 신분증 검증 없이 위조된 신분증만 보여주면 들어가는 것과 같습니다.
🇺🇸 원문 (English)
index.php in PHP Site Lock 2.0 allows remote attackers to bypass authentication and obtain administrative access by setting the login_id, group_id, login_name, user_id, and user_type cookies to certain values.
📍 영향받는 시스템
PHP Site Lock 버전 2.0 및 그 이전 버전
⚔️ 공격 벡터
HTTP 요청의 쿠키 헤더에서 login_id, group_id, login_name, user_id, user_type 값을 조작하여 관리자로 인증
🛡️ 대응 방법
PHP Site Lock을 2.0 이후 패치 버전으로 업그레이드하고 서버 측 세션 검증 및 토큰 기반 인증 구현
🔧 검증 코드
위 명령어 실행 후 VULNERABLE이 출력되면 쿠키 조작으로 인증을 우회할 수 있으므로 취약한 상태이며, PROTECTED가 출력되면 패치되었거나 보호 중입니다.
curl -s -b 'login_id=1;group_id=1;user_type=admin' 'http://localhost/index.php' 2>/dev/null | grep -Eiq '(admin|dashboard|settings)' && echo 'VULNERABLE' || echo 'PROTECTED'