본문으로 바로가기

[Heap] fastbin dup-into stack

category System Hacking ( pwnable )/ETC 2019. 8. 1. 00:08

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