ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Clear] m0lecon CTF 2021 LUCKY-FALL Writeup
    CTF/m0lecon CTF 2021 2021. 5. 18. 17:53

    주어진 문제 페이지에 들어가면 아래와 같은 로그인 페이지가 안내된다. (문제를 해결할 당시에는 lucky user가 PaniniHead 였다)

     

    mongo db 로 구성되어있어서 nosql injection 문제인줄 알았으나, name 이후 파라미터들이 $addFields 를 통해 구성되어있어서인지 별 성과가 없었다.

     

     

    이런 저런 시도를 하다가, 아래와 같은 에러메시지를 확인 했고, 

    password, salt, hash를 모두 사용자 입력값으로 부터 값을 받아오기 때문에

    if hashlib.sha256((user["password"] + user["salt"]).encode("UTF-8")).hexdigest() == user["hash"]:

    를 만족하면 로그인이 될것이라고 생각했다. 

     

    따라서 아래와같은 ex 코드를 작성하여 그 결과값을 서버로 요청하니, 플래그를 출력해주었다.

    #hashlib.sha256((user["password"] + user["salt"]).encode("UTF-8")).hexdigest() == user["hash"]
    import hashlib
    
    print(hashlib.sha256(("a"+"b").encode("UTF-8")).hexdigest()) #== user["hash"]

     

    FLAG = ptm{it_is_nice_to_have_objects_as_parameters}

    반응형

    댓글

Designed by Tistory.