본문 바로가기

system/writeup

trustctf 2019 로꾸꺼

로꾸꺼

trustctf 2019 로꾸꺼

이 바이너리는 할 수 있는게 add밖에 없어서 처음에 많이 당황했었는데 tcache libc가 주어진 걸 후에 알아차리고 후딱 풀긴 했는데 아주 재밌는 문제였다고 생각한다.

 

size2가 음수인지 검사를 하지 않는다.

 

size2를 음수로 넣는다면 위 read_input 함수에서 뒷 부분의 heap chunk의 데이터를 1byte 덮어씌울 수 있다.

 

먼저, 이를 이용하여 tcache_perthread_structcounts, entries를 덮어 임의의 free chunk를 만들어 준다.

 

print_reverse 함수로 *chunk[pivot]의 값을 출력해주기 때문에 setvbuf_got를 할당받는다면 setvbuf_libcleak할 수 있다.

 

그 후, malloc_pltone_gadget으로 덮어 쉘을 얻으면 된다.

 

!llehs teg


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

trustctf 2019 abyss  (2) 2019.02.15
trustctf 2019 start  (2) 2019.02.15
hitcon 2016 house of orange  (0) 2019.02.13
pwnable.tw babystack  (0) 2019.02.11
pwnable.tw death note  (0) 2019.02.10