ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Challenge 19
    웹해킹/Webhacking.kr 2023. 4. 7. 14:56

    들어오면 버튼이 있다 고로 누른다

     

     

     

     

    물론 안된다

     

     

     

    admin이 아니면 guest가 국룰이다, 입력하니까 뭔가 됬다

     

     

     

     

     

     

    보통 이런문제는 쿠키를 봐야되죠, userid에 수상한 문자열 발★견

     

     

     

     

    딱히 뭘 넣는 상관없이 다 되는듯 하다

     

     

     

     

    같은 문자열을 넣으면 같은 문자열이 userid에 삽입되고

     

    guest를 넣고 a의 userid로 바꿔넣었더니 그대로 바뀌는걸 확인했다

     

     

     

     

     

     

     

    그리고 잠깐동안의 검색 후 충격적인 사실을 알아냈다

     

    %3D 가 '=' 인데 이게 끝에 붙으면 base64 인코딩된 문자열이라는 것이었다

     

    a를 decode 해보자

     

     

     

     

    매우 hash스러운 값이 나온다, 문제는 이게 무슨 해시함수로 만들어졌냐는 것 이다

     

    그리고 또 다시 3분간의 마라톤 검색 후 다음과 같은 정보를 얻을 수 있었다

     

    md5 -> 128비트 -> 2의 4승이 16진수이므로, 4로 나누면 32. 16진수 32자리.

    sha-1 -> 160비트 -> 마찬가지로 계산하면 16진수 40자리.

    sha-256 -> 256비트  -> 마찬가지로 계산하면 16진수 64자리.

     

    고로 32자리인 userid는 md5 해시된 후 base64 인코딩 되서 만들어짐을 알 수 있었다

     

    (다른분의 블로그에서 돚거해온 꿀팁, 같은 글을 보면 감사하다고 댓글을 달아드리자)

     

     

    이제 userid가 만들어지는 과정를 알았으니 우리는 원하는 userid를 마음대로 만들 수 있다

    md5hash -> base64.encode 

     

    admin을 md5 해시해준후

     

     

     

    인코딩해준뒤 발사한다

     

     

     

     

    아 ㅅㅂ 왜 안돼

     

     

     

     

     

    고민하던중 문득 떠올랐다

     

    "이상한점이 있다"

     

    해시함수는 몇글자든 고정된 길이의 문자열로 출력해준다

     

    하지만 userid로 나온 쿠키값들은 글자수에따라 값이 길어졌다

     

    이는 해시 특성상 말이안되는 결과

     

     

     

    시험으로 aa를 넣어봤다

     

     

     

    그리고 userid 를 디코딩 해준뒤 발견한 사실

     

    여러글자를 넣어도 한 글짜식 해싱과정을 거쳐서 다 붙인 뒤 base64 인코딩을 해준것

     

    위를 보면 0cc로 시작하는 똑같은 문자열(a)이 두개가 붙어있다 

     

    이제 진짜로 어떻게 만드는지 알았으니 제대로 만들어보자

     

     

     

     

     

     

     

    admin 다 만든뒤 붙여주자 

     

    그리고 인코딩 해준뒤 userid에 넣으면 크리아

     

     

     

    최근 푼 문제들 중 제일 많은 검색을 필요로 하는 문제였던 것 같다

    '웹해킹 > Webhacking.kr' 카테고리의 다른 글

    Challenge 42  (0) 2023.04.14
    Challenge 7  (0) 2023.04.12
    Challenge 58  (0) 2023.04.06
    Challenge 32  (0) 2023.04.06
    Challenge 11  (0) 2023.04.05
Designed by Tistory.