경로순회공격
: 공격자가 응용프로그램을 실행하고 있는 서버 내의 임의의 파일을 읽는 공격
만약 다음과 같은 HTML 코드가 있다고 하자.
<?php
echo "<img src='icons/$_GET[file_name]'>"
?>
이 경우에 우리는 이미지를 요청할 떄 다음 디렉토리에 저장이 될 것이다.
/var/www/icons/파일명
하지만 이때 file_name의 값을 ../파일명 으로 수정해보도록 하자. 그렇다면 파일 경로는 다음과 같이 바뀌게 될 것이다.
var/www/icons/../파일명
var/www/파일명
물론 위와같은 공격을 하기 위해서는 파일명을 알아야한다. 그렇다면, 무조건 있는 win.ini와 같은 표준 운영체제 파일과 같은 파일을 대상으로 공격이 가능할 것이다.
우회 방법
1. 이중인코딩
2. null byte 사용
null byte는 대부분의 운영체제에서 명령문의 끝을 의미한다.
대응방안
1. 사용자의 입력 처리 이전 유효성 검사
이는 화이트리스트 기반 필터링 혹은 영문자만을 사용하였는지 등을 검사
2. 경로의 정규화
정규화된 경로가 기본 디렉토리로 시작하는지 확인.
'모의해킹 및 보안' 카테고리의 다른 글
Iq Spoofing 웹사이트 Post-Exploit (0) | 2023.06.08 |
---|---|
File Upload 시나리오 : webshell, shoutdown etc. (0) | 2023.06.03 |
Commend Injection (0) | 2023.06.03 |
Netcat (0) | 2023.06.02 |
File Upload Vulnerability Summary (0) | 2023.06.02 |