ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Webhacking.kr] Challenge 19
    Wargame/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

    댓글

Designed by Tistory.