🇰🇷 한글 설명
php-Board 1.0의 login.php가 사용자 비밀번호를 평문 상태로 $username.txt 파일에 저장하는 취약점입니다. 해당 파일이 웹 문서 루트 디렉토리에 위치하며 접근 제어가 부족하여, 원격 공격자가 직접적인 요청을 통해 민감한 정보를 획득할 수 있습니다.
💡 쉬운 설명
웹사이트가 비밀번호를 암호화하지 않고 일반 텍스트 파일로 저장하고 있습니다. 공격자가 인터넷 주소창에 특정 파일 경로를 입력하는 것만으로 다른 사용자의 비밀번호를 쉽게 훔쳐볼 수 있는 상태입니다.
🇺🇸 원문 (English)
login.php in php-Board 1.0 stores plaintext passwords in $username.txt with insufficient access control under the web document root, which allows remote attackers to obtain sensitive information via a direct request.
⚔️ 공격 벡터
웹 루트 경로에 노출된 비밀번호 저장 파일($username.txt)에 직접 HTTP 요청을 보내 파일 내용을 탈취
🛡️ 대응 방법
비밀번호를 안전하게 해시 처리하여 저장하고, 민감한 데이터 파일을 웹 루트 외부로 이동시키거나 웹 서버 설정으로 접근을 차단하십시오.
🔧 검증 코드
웹 서버 경로 내에 사용자 이름 형태의 텍스트 파일이 다수 존재한다면 취약한 설정일 가능성이 높습니다.
find /var/www/html -name "*.txt" | grep -E "[a-zA-Z0-9_]+\.txt"