본문 바로가기

CTF

[WPI CTF] Muffin Hater(미해결)

 

 

위의 문제를 다음과 같이 풀어보려고 시도했다.

 

1. 주어진 CVE 링크로 들어가서 설명란을 읽어보았다.

Muffinhater88의 사이트가 FastAPI 0.65.1 버전을 사용 중인데, 0.65.2보다 낮은 버전은 CSRF 공격에 취약하다는 설명이 있다. 따라서 CSRF 공격을 시도해볼 수 있을 것이다.

 

 

 

2. 힌트를 확인해보았다.

 

 

 

3. 주어진 링크(Main Server와 Search Server) 로 들어가봤다.

Main Server 주소로 들어가보면 로그인할 수 있는 창이 나온다.

 

 

Search Server 로 들어가보면 쿼리를 검색할 수 있는 창이 나온다. 검색창에 <script> 태그를 활용한 스크립트를 입력해보았다.

 

테스트 코드로 <script>alert(1);</script> 를 입력한 것이다.

 

서식을 제출하면 위와 같이 alert창이 뜨는 것을 볼 수 있다. 이를 통해 예상했던 대로 xss 공격이 가능한 것을 확인할 수 있다.

 

 

 

4. 문제에서 알려주고 있는 /docs와 /simulated-user 엔드포인트로 접속해봤다.

http://muffin-hater.wpi-ctf-2022-codelab.kctf.cloud:8000/docs

main server의 url 끝에 /docs를 붙여 접속하면 위와 같이 여러 기본 엔드페이지들의 리스트를 확인할 수 있다.

 

 

http://muffin-hater.wpi-ctf-2022-codelab.kctf.cloud:8000/simulated-user

main server의 url 끝에 /simulated-user를 붙여 접속하면 위와 같이 simulated user에 보낼 수 있는 url을 작성할 수 있는 페이지가 뜬다. 이 입력창을 이용해 XSS 공격이 가능할지 궁금해서 <script>alert(1);</script> 을 테스트 코드로 작성해서 전송했는데, alert 창이 뜨지 않았다.

 

 

5. 이후로 여러 공격코드를 시도해보았으나 적절한 공격방법을 찾지 못하였다.

(1) search server 페이지의 입력란에 <script>location.href="/change-pass?auth_cookie=aa"</script> 를 입력해보았다. /change-pass 라는 엔드포인트가 비밀번호를 설정할 수 있는 부분일 거라는 추정에 따라 이런 시도를 해보았지만, 의미있는 결과가 나오지 않았다.

 

(2) simulated-user 페이지의 입력란에 url을 입력했을 때 어떤 동작을 하는지 알고 싶어서 http://muffin-hater.wpi-ctf-2022-codelab.kctf.cloud:8000/docs 라는 url을 입력하고 전송했는데, Internal Server Error 가 났다.

 

(3) search server 페이지의 입력란에 username인 muffinhater88을 입력해보았는데 의미있는 결과가 나오지 않았다.

 

 

 

여기까지 문제를 탐색하고 탐색을 종료했다.