문제 구성
해당 문제에 접속해보면 이러한 홈페이지가 나온다. 물론 문제 힌트에 /api/flag 를 가져오면 된다는 정보와 문제 제목에 path traversal이라는 정보를 주어줬다.
Get User Info 에 들어가보자.
userid 파라미터로 들어간 값이 post 로 넘어간다. script 단에서 guest라면 0, admin이라면 1이라고 값을 고치고 넘기게 된다.
burpsuite를 통해서 해당 요청을 확인해보자.
userid=0 이라는 값이 넘어간다. 브라우저에서 form 위치에 admin이나 guest 이외의 값을 작성한다면?
undefined라는 값으로 넘어가게 된다...
여기서 생각할 수 있는건 2가지 해결책이다.
1. userid 위치에 undefined로 바뀌는것을 방지하기 위해 script에 바뀌는 값을 /원하는경로 로 설정하는 것.
2. burpsuite로 intercept 해서 userid 값을 /원하는경로 로 바꾸는 것.
1번은 귀찮을거 같아서 2번으로 했다.
userid=../api/flag로 고쳐서 해봤는데 안돼서 계속 경로를 바꿔가면서 했다. 근데 ../../../ 3번 해보니까 걍 플래그가 떴다. 우효~
'웹해킹' 카테고리의 다른 글
칼리 리눅스 툴 [Gobuster] (0) | 2023.11.02 |
---|---|
[sunshine CTF 2023] hotdog_stand writeup (0) | 2023.10.19 |
[sunshine CTF 2023] beepboopweb Writeup (0) | 2023.10.19 |