-
[Webhacking.kr] Challenge 19Wargame/Webhacking.kr 2023. 4. 23. 07:15반응형
Challenge 19를 풀어보자.
문제 화면을 보면 id에 admin이 입력되어 있고, 제출 버튼이 있다.

<Challenge 19의 문제 화면> 바로 문제가 해결될 수도 있으니 제출을 눌러보자.
'you are not admin' 문구가 출력되며 역시나 문제가 해결되지 않는다.

<admin 입력 시 출력 결과> 크롬 개발자 도구를 이용해 페이지 코드를 확인해보도록 하자.
이번에는 페이지 코드에서도 별다른 힌트를 발견할 수가 없다.

<Challenge 19의 코드> 'admin'으로 제출을 했을 때, 쿠키 값도 없었기 때문에 어떤 식으로 문제를 해결할 지 애매했다.
그래서 다른 값으로 'test'를 제출했는데, 긴 값을 가진 userid라는 쿠키가 생성되었다.
%3D로 끝난 것으로 보아 Base64 인코딩이 된 것 같았고, 이것을 디코딩하니 긴 문자가 생성되었다.
그런데 그 문자의 길이가 128자가 되었다.
이것은 32*4로, test라는 4글자의 문자를 md5로 해시 암호화를 한 것이라는 것을 알게 되었다.
입력한 문자를 md5로 해시 암호화를 하고, 그 값을 Base64로 인코딩한 것이 userid의 값이 되는 것이다.

<test 입력 시 쿠키 생성> 그래서 admin의 각 글자를 md5로 해시 암호화를 하고, 이후 그 값을 Base64로 인코딩을 하여 입력을 했다.

<admin의 암호화, 인코딩> 그렇게 쿠키 값을 변경한 뒤 새로고침을 하니, 문제가 해결되었다.

<Challenge 19 문제 완료> 반응형'Wargame > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge 47 (0) 2023.04.23 [Webhacking.kr] Challenge 25 (0) 2023.04.23 [Webhacking.kr] Challenge 58 (0) 2023.04.23 [Webhacking.kr] Challenge 27 (0) 2023.04.23 [Webhacking.kr] Challenge 32 (0) 2023.04.09