🇰🇷 한글 설명
phpRPG 0.8에서 세션 정보를 웹 루트 아래 불충분한 접근 제어로 저장하여, 원격 공격자가 tmp/ 디렉토리의 세션 파일을 읽고 세션 ID를 탈취할 수 있습니다. 탈취한 세션 ID로 PHPSESSID 쿠키를 조작하여 다른 사용자의 세션을 탈취할 수 있습니다.
💡 쉬운 설명
phpRPG는 누구나 볼 수 있는 폴더에 사용자 인증 정보를 저장하여, 해커가 다른 사람의 로그인 정보를 훔칠 수 있습니다. 훔친 정보로 다른 사람 계정에 접속할 수 있습니다.
🇺🇸 원문 (English)
phpRPG 0.8 stores sensitive information under the web root with insufficient access control, which allows remote attackers to read session ID values in files under tmp/, and then hijack sessions via PHPSESSID cookies.
📍 영향받는 시스템
phpRPG 0.8 및 이전 버전
⚔️ 공격 벡터
웹 서버의 웹 루트 내 tmp/ 디렉토리에서 sess_* 파일을 직접 읽어 세션 ID 탈취
🛡️ 대응 방법
phpRPG를 최신 버전으로 업그레이드하거나 session.save_path를 /var/lib/php/sessions 같은 웹 루트 외부로 변경하고 파일 권한을 600으로 제한
🔧 검증 코드
세션 파일이 출력되면 웹 접근 가능한 tmp에 저장되어 있으므로 취약함; 출력 없으면 안전한 위치에 저장된 것
find /var/www -path '*/tmp/*' -name 'sess_*' -type f 2>/dev/null | head -5