Profile

머리정리하는곳

c2w2m2

[N1CTF2018] Vote



사실 어제 올린 글이 이문제 풀면서 생각해 본거다ㅋㅋ..



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