본문 바로가기

system/writeup

2019 hitcon trick_or_treat

trick_or_treat

hitcon 2019 trick_or_treat

굉장히 간단한 프로그램이다.

 

맨 처음에 입력받은 Sizemalloc을 해주고, 2번의 arbitrary write를 제공해준다.

 

여기서, chunk의 주소를 출력해주니 mmap으로 chunk를 할당받아서 libcleak할 수 있다.

 

그 후, __free_hooksystem으로 덮고, system("ed")를 실행시켜주면 된다.

 

scanf에 큰 입력을 주면 malloc 후 입력을 chunk에 담고 free시키는데, 예를 들어 "A"0x500개, ed를 넣으면 chunk는 다음과 같은 형태를 갖는다.

 

 

free 코드는 vfscanferrout LABEL이다.

 

vfscanf-internal.c #3028 ~ #3058

 


'system > writeup' 카테고리의 다른 글

2019 hack.lu chat  (0) 2019.11.12
2019 hitcon lazyhouse  (0) 2019.11.06
2019 codegate maris_shop  (0) 2019.11.03
2019 hack.lu no_risc_no_future  (0) 2019.11.03
2019 hack.lu tcalc  (0) 2019.11.01