-
[Clear] m0lecon CTF 2021 LUCKY-FALL WriteupCTF/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}
반응형