페이지에 접속하면 바로 다음과 같은 화면이 뜨는 것을 알 수 있다.

스크린샷 2025-05-23 132606.png

admin을 그대로 제출하게 되면 you are not admin 이라는 값이 뜨게 되어 접속이 불가한데, 여러 텍스트들을 입력해보면 5개의 문자만이 입력이 가능한 사실을 소스코드를 통해 알 수 있고, 입력한 값 그대로 로그인이 가능하다는 사실, 쿠키값이 생성된다는 사실을 확인할 수 있다.

스크린샷 2025-05-23 133629.png

스크린샷 2025-05-23 133637.png

쿠키값을 확인해보면 =로 끝나는 것을 확인할 수 있는데, 이는 base64로 인코딩되었음을 알 수 있다.

해당 쿠키값을 디코딩해보면 다음과 같은 값을 획득할 수 있다.

0cc175b9c0f1b6a831c399e2697726610cc175b9c0f1b6a831c399e2697726610cc175b9c0f1b6a831c399e2697726610cc175b9c0f1b6a831c399e2697726610cc175b9c0f1b6a831c399e269772661

여기서 주목할만한 점은, 0cc로 시작되는 부분들이 4번 반복되는 사실이다.(0cc175b9c0f1b6a831c399e269772661 부분)

이는 id로 aaaa를 입력한 것과 밀접한 관계를 맺고 있다는 사실을 추측할 수 있었고, 다양한 알고리즘들 중 MD5 해시값은 128비트 (16바이트)이며, 이를 16진수(hex)로 표현하면 항상 32자리 문자열이 됨을 감안하여 md5 알고리즘으로 디코딩을 해보았더니, 반복되는 부분이 정확히 a를 가리키고 있다는 사실을 알 수 있었다.

스크린샷 2025-05-23 134149.png

따라서 이에 입각해 admin을 md5로 인코딩한 뒤, 이를 또 base64로 인코딩한 값을 쿠키값으로 넣는다면, 문제가 해결될 것이고, 실제로 변환한 값은

MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ== 값으로, 이를 쿠키값에 넣으면 문제를 해결할 수 있다.