문제

풀이
페이지 접속 시 두 개의 버튼이 나오고, “login as guest’ 버튼을 클릭하면 JWT 토큰이 발급됨

소스 코드 분석 결과, 토큰의 시그니처 값은 확인할 수 없었음
얻을 수 있는 정보는 HS256 알고리즘 사용, 시그니처 검증 로직이 존재하지 않으며, sub = ADMIN일 경우 flag 획득 가능

분석한 내용을 토대로, 토큰의 시그니처 값을 지워봄
결과적으로 토큰 시그니처가 없어도 “Hi guest!” 문구 출력됨

JWT decode 사이트를 통해 토큰의 시그니처를 지우고 sub = guest → admin으로 변조

변조 토큰 전송 시 admin으로 인식해서 flag 값 뱉어줌

작년에 진행했던 CTF Write-up을 노션에만 기록해뒀다가, 요번에 티스토리로 옮기기로 마음 먹음
회사 동료들과 참가했던 CTF인데 밤새서 문제 풀었던 기억이 나서 재밌네 ㅎㅎ