🇰🇷 한글 설명
PHP의 php.ini 설정에서 'display_errors = Off'가 설정되지 않은 경우, 원격 공격자가 요청 URL 끝에 슬래시(/)를 추가하여 include 파일의 물리적 경로를 획득할 수 있습니다. 이는 기본 경로를 수정하여 include 지시자를 실패하게 만들고, 결과적으로 경로 정보가 포함된 오류 메시지를 출력하게 합니다.
💡 쉬운 설명
웹사이트 주소 끝에 슬래시를 넣어 서버 내부의 실제 폴더 경로를 알아내는 취약점입니다. 서버의 내부 구조가 노출되면 해커가 추가 공격을 계획하기 쉬워집니다.
🇺🇸 원문 (English)
PHP, when not configured with the "display_errors = Off" setting in php.ini, allows remote attackers to obtain the physical path for an include file via a trailing slash in a request to a directly accessible PHP program, which modifies the base path, causes the include directive to fail, and produces an error message that contains the path.
📍 영향받는 시스템
PHP (display_errors 설정이 On으로 되어 있는 모든 버전)
⚔️ 공격 벡터
HTTP 요청 URL 끝에 슬래시(/)를 추가하여 의도적으로 오류를 발생시키고 에러 메시지에서 경로 정보를 탈취
🛡️ 대응 방법
php.ini 설정 파일에서 'display_errors = Off'로 변경하여 에러 메시지 외부 노출을 차단
🔧 검증 코드
결과값이 'On'으로 표시되면 취약한 상태이며, 'Off'여야 안전합니다.
php -i | grep 'display_errors'