공부/웹해킹 (Web hacking)

[Webhacking.kr | 웹해킹] old-19

eunjuu 2024. 4. 4. 12:30
728x90

📎 https://webhacking.kr/chall.php

 

Webhacking.kr

 

webhacking.kr


문제를 클릭하면 이런 창이 뜬다.

 

 

 

기본적으로 admin이 채워져 있고, "제출" 버튼을 누르면 "you are not admin" 이렇게 뜬다. 그러다 몇 초 후 금방 다시 원래 페이지로 돌아오는 것을 확인했다.

 

 

admin 값 대신 guest를 입력했더니 "hello guest"라고 뜬다. 아까 admin과 다르게 몇 초 후 다시 초기화면으로 돌아가지 않고, "logout" 버튼을 눌러도 아무런 변화가 없어서 쿠키값을 확인해봤다.

 

YjJmNWZmNDc0MzY2NzFiNmU1MzNkOGRjMzYxNDg0NWQ3Yjc3NGVmZmU0YTM0OWM2ZGQ4MmFkNGY0ZjIxZDM0Y2UxNjcxNzk3YzUyZTE1Zjc2MzM4MGI0NWU4NDFlYzMyMDNjN2MwYWNlMzk1ZDgwMTgyZGIwN2FlMmMzMGYwMzRlMzU4ZWZhNDg5ZjU4MDYyZjEwZGQ3MzE2YjY1NjQ5ZQ%3D%3D

 

일반적으로 사용하는 PHPSESSID 말고 userid라는 쿠키가 있다. 문자열의 맨 뒤에 %3D%3D(==)가 설정된 것을 보아 base64로 인코딩 되어 있는 것 같다. 그리고 내가 입력한 글자만큼 md5 해시화하여 이어붙이는 것 같다.

 

b2f5ff47436671b6e533d8dc3614845d7b774effe4a349c6dd82ad4f4f21d34ce1671797c52e15f763380b45e841ec3203c7c0ace395d80182db07ae2c30f034e358efa489f58062f10dd7316b65649e

 

base64 디코딩 하면 위와 같은 문자열이 나온다. 위 문자열을 32자 단위로 끊어 md5 디코딩 해보면 내가 입력한 'g', 'u', 'e', 's', 't'가 나온다.

 

'admin' 문자열을 한 문자씩 md5 인코딩 후, 합쳐 base64 인코딩하면 된다. 마지막으로 url encoding을 해주어야 한다.

  • a : 0cc175b9c0f1b6a831c399e269772661
  • d : 8277e0910d750195b448797616e091ad
  • m : 6f8f57715090da2632453988d9a1501b
  • i : 865c0c0b4ab0e063e5caa3387c1a8741
  • n : 7b8b965ad4bca0e41ab51de7b31363a1
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE3YjhiOTY1YWQ0YmNhMGU0MWFiNTFkZTdiMzEzNjNhMQ%3D%3D

 

728x90