Description

Category: Pwnable

Source: TAMUctf 2019

Points: 469

Author: Jisoon Park(js00n.park)

Description:

nc pwn.tamuctf.com 4323

Difficulty: easy

pwn3

Write-up

사용자 입력만 받고는 별달리 하는 일이 없는 바이너리가 주어졌다. 하는 일은 없지만, 내가 입력하는 값이 들어갈 버퍼의 주소를 알려주기는 한다.

굳이 스택의 주소를 알려주는 것으로 보아 스택에서 쉘코드를 실행하라가거나 뭐 그런 문제 같다. checksec으로 확인해보자.

역시나 NX가 disable 되어있다. 스택에서 쉘코드 실행이 가능하다는 이야기다.

인터넷에서 간단한 쉘코드를 받아서 쓰도록 하자. i386에서는 ebp+4의 위치에 return address가 있으므로, 여기를 쉘코드의 주소로 덮어써주면 된다.

s 변수의 버퍼 크기는 0x12A 바이트이므로, 쉘코드를 먼저 써주고 나머지 부분은 대충 아무 데이터로 덮어써준다. 그리고 스택 상의 ebp 주소에도 4 바이트 더미 데이터를 써주고 마지막으로 return address 주소에 s 변수의 주소를 써주면 echo() 함수 실행 후에 return 명령이 호출될 때 s 변수 주소에 있는 쉘코드를 수행하게 될것이다.

이대로 동작하도록 exploit를 써주고 실행시키면 flag를 얻을 수 있다.

Flag : gigem{r3m073_fl46_3x3cu710n}

'writeups > Pwnable' 카테고리의 다른 글

Pwn5  (0) 2019.11.23
Pwn4  (0) 2019.11.23
Pwn2  (0) 2019.11.23
Pwn1  (0) 2019.11.23
fd  (0) 2019.11.23

+ Recent posts