Profile

머리정리하는곳

c2w2m2

Fastbin duplicate without unsorted bin

제목 그대로 unsorted bin 을 통해서 하는 libc leak 없이 진행될수 있는 fastbin duplicate다.


간단하게 got에도 libc 주소가 0x7f~~꼴로 들어가니까 이걸 써서 할수도 있는데, 지금 해볼건 조금 다른거다.


다음같은 조건이 있을경우 써먹을 수 있다.


1. bss영역에 heap pointer가 존재할것.

2. view메뉴가 있을것 ( 상황에 따라 생략 가능 )

3. bss에 stdin, stdout 중 하나가 있을것

4. Heap edit가 가능할것


이 4가지만 있으면 간단하게 fastbin duplicate가 가능하다.



bss에는 보통 stdin, stdout이 있는데, 이건 libc영역에 존재하는것이라, 0x7f~~꼴의 주소를 가지게 된다.


이를 이용해서 이부분에 fake size 를 만들어 할당할수 있다


그리고, 여기다 할당받고, 값을 넣을떄 AAA 정도로 작은 크기만 넣어준다 ( stdin, out 손상 방지 )



그리고 view 메뉴를 통해서 stdin, out의 값을 leak 해준다 


이걸로 libc leak이 가능하다.


그리고 나서는 edit 나 재할당이나 아무거나 해서 pointer 값을 malloc_hook 이나 got 주소든 원하는 주소를 적어준다.


이때 stdin, out이 손상되지 않게 아까 leak 한 주소를 그대로 적어서 맞춰줘야한다.


그 후에는, edit 로 조져주면 된다.

'Pwnable > Heap' 카테고리의 다른 글

Freed Realloc  (0) 2018.04.09
Implementation of Realloc  (0) 2018.04.06
Heap exploit  (0) 2018.03.29
Fastbin dup consolidate  (0) 2018.03.28
Fastbindup  (0) 2018.03.11