
계속 해왔듯이 문제 파일을 다운 받아서 하나씩 분석해보자.
1. check.php

먼저 check.php 파일이다. /token.php에서 실제 토큰 값을 읽어오고 입력된 토큰과 hash_equals로 비교한다.
일치할 경우 평문으로 flag.txt를 출력하고 일치하지 않을 경우 403을 출력한다.
2. index.php

index.php는 토큰 입력 폼 UI. GET /check.php?token=...로 검증 요청을 보낸다.
3. token.php

/tmp/real_token 파일에 16-hex 토큰을 한 번 생성해 저장하고, 이후 그 값을 그대로 반환한다.
아.. 이렇게 문제 파일들을 분석했는데 너무 허무해서(만드신분께는 죄송하지만) 어이없었던 문제...ㅎㅎㅎ
결론부터 말하면 /flag.txt로 접속하면 플래그 획득이 가능하다. 16-hex를 브루트포스한다는게 사실 말이 안되긴 했지만...
아래와 같이 풀릴 수 있는 이유는 check.php에서와 같이 flag.txt에 대한 다른 접근 제한 처리가 없긴하다.. 그래서 이렇게 하면 풀린다...
