사이트에는 자료실 등 파일을 다운로드 받을 수 있는 기능이 다수 존재한다. 이럴 때 파일을 경로명으로 클라이언트에게 요청받아 제공하게 될 경우 패킷을 변조하고 상위 경로로 이동하는 문자열을 사용하여 웹 서버 내부의 시스템 파일을 다운로드할 수 있다.
파일 경로에 대한 요청으로 자료실에 등록된 pdf 파일 등을 다운로드 하게 되는데 아래의 공격 구문 사용 시 내부의 /etc/passwd 파일을 다운로드 받을 수 있다.
원래는 fileName 파라미터 값에 pdf 파일 명이 들어갔지만, 상위경로 이동 문자열을 포함하여 /etc/passwd 파일을 요청하니 정상적으로 다운로드 받은 것을 확인할 수 있다.
이렇게 /etc/passwd 파일을 다운받고 나서는 이에 그치지 않고 계정별 .bash_history, 각종 환경설정 파일들을 참조하여 추가적인 공격이 이루어질 수 있다.
이에 대한 대응방안으로는 파일을 경로명이 아닌 임의 난수의 값으로 다운로드 받도록 로직을 구현하고 화이트리스트 방식, 혹은 키 값 등을 이용하여 서버에 등록된 정해진 파일만 다운로드 받을 수 있도록 로직을 구현하는 것이 가장 좋다.
특수문자 .와 /를 사용하지 못하도록 필터링하는 방식 또한 대응방안으로 설립할 수 있다.
'3. 웹 애플리케이션 취약점 진단' 카테고리의 다른 글
불충분한 인가 - 일반 사용자로 공지사항 글 변조 (0) | 2024.06.21 |
---|---|
프로세스 검증 누락 - 권한을 우회하여 타인의 글 변조 (0) | 2024.06.21 |
프로세스 검증 누락 - 항공권을 공짜로 예매하는 것은 결제 취약점만 막으면 될까? (0) | 2024.06.21 |
프로세스 검증 누락 - 본인 인증을 URL로 진행하면 발생하는 일 (0) | 2024.06.20 |
불충분한 인가 취약점으로 비공개 게시글 열람하기 (0) | 2024.06.20 |