사실 어제 올린 글이 이문제 풀면서 생각해 본거다ㅋㅋ..
stage 1.
heap1, heap2 를 malloc 후 free 시켜서 heap1 => heap2 만듬
-> heap2 을 vote 를 통해 fd 에 들어간 heap1 주소를 늘려서 원하는 주소를 받을 수 있게함 ( 힙 임의 쓰기 )
stage 2.
heap3 을 만들어서 heap4 부근에 name 을 받아서 heap4 의 fd 를 조작할 수 있게끔 fake size 를 구성해줌.
-> heap4,5 를 malloc 후 free 함 heap5 => heap4
-> heap1 => heap2 를 만들어 논것을 이용해서 heap4 부근의 fake size 로 주소를 받음
-> 이를 통해 heap4의 fd 를 조작할 수 있음.
-> fd 를 malloc_hook - 0x23 주소로 overwrite 시킴
-> heap 6, heap7을 malloc 시킴.
-> heap7 은 malloc_hook - 0x23 의 주소
'Pwnable' 카테고리의 다른 글
[Securients 2018] (0) | 2018.03.26 |
---|---|
[angstrom2018] hellcode (0) | 2018.03.22 |
BCTF2016 bcloud (0) | 2018.03.09 |
Pyjail (0) | 2018.03.03 |
[Harekaze 2018] Flea_attack (0) | 2018.02.11 |