1. 파일 다운로드 포인트
파일을 다운로드하는 요청을 찾기 위해 게시판에 들어갔다.
게시글을 작성하는 곳에서 정상적인 이미지 파일을 업로드했다.
작성한 게시글에 들어가
파일을 다운로드했다.
HTTP 통신 패킷을 확인해 보면,
파일 다운로드 로직이 구현된 download.php 파일의 파라미터로 다운로드할 파일의 경로가 들어가는 것을 알 수 있다.
해당 경로를 수정해 index.php 파일 다운로드를 시도해 봤지만,
GO 라는 응답이 돌아왔다.
해당 응답은 유저가 업로드한 파일이 저장되는 files 경로에 접근 시 출력되는 문자이다.
이를 통해 생각해 보면, 상위 디렉토리로 이동하는 ../ 명령어가 동작하지 않는 것을 유추할 수 있다.
../ 문자열이 필터링되고 있을 때, 이를 우회할 수 있는 페이로드를 입력해 보니,
index.php의 소스코드가 응답되면서 FLAG를 얻을 수 있었다.
아마 download.php 파일에서 파라미터 값에 ../ 값이 들어오면 공백으로 치환하는 코드가 작성돼 있는 것 같다.
발견한 다운로드 취약점을 통해 download.php 파일의 소스코드를 확인해 보니, 예상했던 데로 ../ 문자열이 공백으로 치환되고 있었다.
'WarGame > SegFault' 카테고리의 다른 글
authorization 2 (0) | 2024.08.03 |
---|---|
authorization 1 (0) | 2024.08.03 |
Get Flag File (1) | 2024.07.28 |
Web Shell 3 (0) | 2024.07.28 |
Web Shell 2 (2) | 2024.07.20 |