[webhacking.kr] old-19

asdf·2026년 4월 2일

web

목록 보기
24/32


접속하면 id 제출 창이 나옵니다. 기본 값이 admin인 걸 봐선 admin으로 로그인하는 것이 문제의 목표인 것 같습니다. 그냥 제출을 눌러보면 당연히 you are not admin이라는 문장이 나옵니다.

그럼 guest로 로그인을 한 번 해보겠습니다.

hello guest라는 화면이 나오고 logout 버튼을 누르기 전까지는 계속 유지되는 걸 보니 쿠키로 id 값이 유지되고 있는 것 같습니다.
쿠키를 확인해 보니 userid 라는 쿠키에 YjJmNWZmNDc0MzY2NzFiNmU1MzNkOGRjMzYxNDg0NWQ3Yjc3NGVmZmU0YTM0OWM2ZGQ4MmFkNGY0ZjIxZDM0Y2UxNjcxNzk3YzUyZTE1Zjc2MzM4MGI0NWU4NDFlYzMyMDNjN2MwYWNlMzk1ZDgwMTgyZGIwN2FlMmMzMGYwMzRlMzU4ZWZhNDg5ZjU4MDYyZjEwZGQ3MzE2YjY1NjQ5ZQ%3D%3D 라는 값이 저장되어 있습니다. 해시 함수로 암호화되어 있는 것 같아서 gemini에게 평문과 암호문을 주고 해시 함수를 찾아달라고 해보겠습니다.

userid의 값은 guest를 한 글자씩 MD5 해시 함수로 암호화하고 base64 -> URL 인코딩을 수행한 값이라고 합니다. 알고리즘을 알았으니 admin을 똑같은 과정으로 암호화한 후 값을 userid에 넣으면 해결할 수 있습니다.

값을 MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ==로 변경한 후 새로고침을 하면 문제를 해결할 수 있습니다.

profile
Rainy Waltz(a_hisa)

0개의 댓글