CTF/m0lecon CTF 2021

[Clear] m0lecon CTF 2021 LUCKY-FALL Writeup

Vardy 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}

반응형