본문 바로가기

WarGame/SegFault

Get Flag File 2

문제 정보

1. 파일 다운로드 포인트

파일을 다운로드하는 요청을 찾기 위해 게시판에 들어갔다.

게시글을 작성하는 곳에서 정상적인 이미지 파일을 업로드했다.

작성한 게시글에 들어가

http://ctf.segfaulthub.com:3185/download_2/download.php?filePath=/alioth/hacker.png

파일을 다운로드했다.

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