티스토리 뷰
시험이 끝난후 친구들과 x-mas ctf에 참여했다.
난 Reversing Endless Christmas를 풀었다.
주어진 바이너리를 열면 fileXXXXXX(X에 랜덤한 알파벳이 들어감)라는 형태의 랜덤한 파일에 권한 등을 줘서 생성한 후에 execve를 이용해서 이 프로그램을 종료하고 새로운 프로그램을 실행한다는 사실을 알 수 있다.
여기서 마지막으로 생성된 file56US0D를 ida로 열어보면
이런 루틴이 나온다.
buf에 "U @L^vi>n=i>R9;9<cR9ciR9;9<cR9ciR9;9<cR9ciR9;9<cR9ciRka9;p"가 들어가므로 0xd와 한글짜씩 xor하면
1 2 3 4 5 | table="U @L^vi>n=i>R9;9<cR9ciR9;9<cR9ciR9;9<cR9ciR9;9<cR9ciRka9;p" flag="" for i in range(len(table)): flag+=chr(ord(table[i])^0xd) print(flag) | cs |
플래그가 나온다.
flag:X-MAS{d3c0d3_4641n_4nd_4641n_4nd_4641n_4nd_4641n_4nd_fl46}
'write up' 카테고리의 다른 글
제 1회 trust ctf write-up (0) | 2019.02.16 |
---|---|
제 2회 rootctf (0) | 2018.12.26 |
2018 OtterCTF Hopity Hop (2) | 2018.12.11 |
BSides Delhi CTF 2018 (0) | 2018.10.27 |
picoCTF 2018 (0) | 2018.10.13 |