본문 바로가기
CTF

2023 Pico CTF writeup (web/find me)

by jh117jh 2023. 3. 30.
728x90

이번에 동아리 부원들, 현직에 계신 멘토 한분과 함께 pico ctf에 참여하게 되는 기회가 생겼다.

 

ctf에 몇 번 참여한 경험은 있지만 오프라인으로 모여 멘토분의 피드백을 들을 기회가 흔치 않아 더 도움 되는 기회였던 거 같다.

 

일단 웹 위주로 풀어보았고 계속 푸는 중이므로 flag를 찾은 문제들 부터 차근차근 writeup을 쓸 예정이다.( 이 글은 pico ctf가 끝나고 공개될 예정)

 

서론은 그만하고 문제를 봐보자.

우선 문제에 id와 pw가 나와있고 테스트를 도와달라고 써있다.

힌트에 any redirction이라 쓰여있는 걸 보고 처음에 세션을 읽어보면 될 것 같았다.

 

우선 지정된 id와 pw로 접속을 해보았다.

로그인을 해보니 이런 홈페이지가 나왔는데 아래 문구를 보니 여기로 리디렉션 되었지만 아무것도 찾을 수 없었다. flag 찾는 것을 도와줘 이라 쓰여있다.

 

문구를 보고 힌트를 얻은 게 세션 읽기를 로그인하는 페이지에서 하는 것이라는 걸 느꼈다.

 

다시 로그인창으로 돌아가 로그인한 후 세션 기록을 봐보았다.

역시 중간에 title이 flag인 페이지가 우리도 모르게 있던 것이다.

 

로그인페이지의 응답값을 보니 Found. Redirecting 하면서 첫 flag 페이지로 이동되고

그다음 2초 후에 또 다음 두번째 flag 페이지로 이동되고

그 다음 2초후 home으로 이동되는 걸 볼 수 있다.

 

여기서 나는 두 개의 flag페이지에 숨겨진 flag가 있는 줄 알고 속성값을 전부 찾았는데 나오는 게 없어서 한참을 헤맸다....

id값도 복사해서 flag값으로 넣어보고 안돼서 한숨 쉬고 딱 봤는데 자세히 보니 id값이 base64로 인코딩 되어 있는 것으로 보여서 첫 번째 id값을 복호화해 본 결과..

진짜 풀어서 기쁘긴 한데 어이가 없었다ㅋㅋㅋㅋㅋㅋㅋ

어떻게 id값으로 수많은 시도를 했는데 디코딩해 볼 생각을 한 번도 하지 않았는지 난 바본가보다...

 

어이없음을 뒤로 한채 다음 id값을 디코딩했다.

이로써 flag값이 완성되었다.

 

어찌 보면 되게 쉬운 문제였는데 한번 삽질하니까 끝없이 한 것 같다....

 

그래도 flag 찾으니까 뿌듯하긴 하다 ㅎㅎ

728x90