주말에 잠시잠깐 짬을 내서 hackover라는 CTF에 참가했다. 그 중에 하나를 풀긴 했는데… Write-up을 쓸까말까 고민 하다가 요즘 포스팅이 너무 뜸했어서 올린다. ㅎㅎ

문제 정보는 다음과 같다.

1
2
3
4
5
i-love-heddha

A continuation of the Ez-Web challenge. enjoy

207.154.226.40:8080

이거 이 전에 나온 ez web이란 문제의 2번째 버전이다. 문제 서버에 접속하면 아래처럼 under construction 이라고만 나오고 아무것도 안나온다.

소스보기를 하면 /under_construction.gif가 있는데, 이걸 누르면 아래와 같은 오류가 나온다.

찾아보니 이건 spring boot라는 걸로 구현하면 저렇게 오류를 뱉어준다고 한다. 일단 뭔가 단서를 찾아야 하니 robots.txt를 찾아 보았다. 그랬더니 아래처럼 /flag/라는 디렉토리가 있는 것을 알 수 있었다.

1
User-agent: * Disallow: /flag/

이 경로에 접속 해 보면 flag.txt가 있다.

근데 얘를 그냥 누르면 flga.txt로 이동해서 없다고 나온다. 오타인지 의도한건지…

얘를 다시 경로를 flag.txt로 바꿔서 이동 해 주면 Bad luck buddy라고 나온다. 여기서 쿠키를 확인하면 아래처럼 isAllowed가 있는데, 값이 false로 되어 있다.

그러면 이 쿠키 값을 true로 바꿔 주면 문제가 뙇! 하고 풀릴 것 같은데 이건 이 전의 문제 ez web의 풀이법이다. 일단 true로 바꿔주고 다시 보면 이번에는 You are using the wrong browser, 'Builder browser 1.0.1' is required 라고 한다.

헤더를 조작해야 하는 것 같다. 그래서 Burp Suite로 잡아서 User-AgentBuilder browser 1.0.1로 변경 해 주었다. 그랬더니 이번에는 You are refered from the wrong location hackover.18 would be the correct place to come from. 란다.

그래도 title이 Almost인 것을 보니 이것만 해결하면 문제가 풀리는 것 같다. 다시 Burp Suite로 잡아서 아까처럼 User-AgentBuilder browser 1.0.1로 바꾸고, Referer라는 것을 추가 해 hackover.18로 만들어 주었다.

드디어! flag 처럼 보이는 것을 찾을 수 있었다.

딱 봐도 base64로 인코딩 되어있는 것 같으니, 얘를 https://www.base64decode.org/로 들어가서 디코딩 해 주었다. 그 결과 아래와 같이 flag를 찾을 수 있었다.

이제 다른 문제 풀러 가야지~

1
FLAG : hackover18{4ngryW3bS3rv3rS4ysN0}