Exploit plan
1. 같은 크기의 fast chunk 2개 이상 할당
-0x30크기의 chunk 2개 할당
2. 첫번째 fast chunk free
-0x30크기의 chunk 1개 해제
3. 두번째 fast chunk free
-0x30 크기의 chunk 1개 해제
4. 첫번째 fast chunk free (Double Free Bug)
-(2)번에서 해제한 chunk 한번 더 해제
5. 이전 chunk와 같은 크기의 청크 할당
6. (5)번에서 할당한 chunk에 fake chunk값 작성
-이전에 할당한 (chunk의 크기 + header size = 0x40)를 가진 곳에 작성해야함
7. 같은 크기의 chunk 2번 더 할당
8. 다음에 할당되는 chunk는 fakechunk의 주소 + 0x10
코드로 보자!
1 2 3 4 5 6 7 8 9 10 11 | 0 = malloc(0x30) 1 = malloc(0x30) free(0) free(1) free(0) 2 = malloc(0x30) <- fake chunk in 2 3 = malloc(0x30) 4 = malloc(0x30) 5 = malloc(0x30) <- malloc ((fake chunk) + 0x10) !!!! | cs |
'System Hacking (pwnable) > ETC' 카테고리의 다른 글
[pwn] SROP(Sigreturn Return Oriented Programming) (0) | 2020.01.07 |
---|---|
[HackTheBox] Dream Diary : Chapter 1 ( write-up ) (0) | 2019.11.20 |
[pwn] _rtld_global overwrite ( _dl_fini overwrite ) (0) | 2019.11.09 |
[RootMe] Stack buffer overflow basic 1 ( write-up ) (0) | 2019.08.22 |
[Heap] fastbin dup consolidate (0) | 2019.08.01 |