사실 힙공부를 하기는 했는데 거의다 uaf 쪽이라서 Study 에 올리다가 오랜만에 heap 에 다가 올린다
이번에 해볼건 Fastbin Consolidate 라는 것을 볼것이다.
Fastbin Consolidate은 Large bin 이상의 malloc 요청이 들어오면 다음 청크가 Top chunk 인지를 확인하고, 아니라면 fastbin 들을 검사해 필요없다 판단하고 병합시켜서 Small bin 으로 합병시켜버리는 것이다.
이런식의 코드가 있다. 이걸 분석해보자.
브레이크 포인트는 free(heap3) 이후와 malloc(0x400) 이후에 했다.
free(heap3) 이후에는 이런식으로 평범한 fastbin 이 구성되어있다.
그런데 malloc(0x400을 하면'
이런식으로 합병되어 할당되는 주소가 heap1 인 것을 볼 수 있다.
이때 fastbin 을 합병하면서 unlink 를 호출한다고 한다. 그래서 fd, bk 를 이용해서 항상 하던대로 exploit 이 가능하다고는 하는데
다음에 문제를 풀어봐야겠다
'Pwnable > Heap' 카테고리의 다른 글
Unsortedbin attack (0) | 2018.02.23 |
---|---|
[HITCON-Trainning] lab 11 (0) | 2018.02.19 |
House of Top (0) | 2018.01.09 |
unsafe unlink (0) | 2018.01.04 |
The House of Spirit (0) | 2017.10.12 |