wargame/pwnable.kr

[pwnable.kr] fd | write up

$1m0hYa 2019. 8. 29. 22:54

안녕하세요!

 

이번에는 pwnble.kr 풀이를 준비해봤습니다!

ssh fd@pwnable.kr 2222

 

로 접속을 하고 비번으로 guest 를 입력해줍시다!

 

전 xshell로 접속했어요 ㅎㅎ

보시면 3개의 파일이 있는데요, fd.c를 한번 보겠습니다.

오호라..

 

일단 인자는 2개 이상 넣어주고, 제가 입력한 2번째 인자에서 0x1234를 빼고

 

그것을 fd라는 변수에 저장해주네요!

 

그리고 read함수를 이용해 buf에다 입력받고, 그것이 LETMEWIN이면

 

답이 나오는 문제네요!

 

이 문제는 파일 디스크립터에 대한 문제인듯 합니다.

 

파일디스크립터 자세히 알아보기 -> 링크

 

 

파일디스크립터 - Google 검색

2013. 3. 24. · 파일 디스크립터란 뭔가?! 파일 디스크립터는 파이프, FIFO, 소켓, 터미널, 디바이스, 일반파일 등 종류에 상관없이 모든 열려있는 파일을 참조할때 ...

www.google.com

파일 디스크립터란? 표준 입출력 그리고 에러를 정하는 건데요,

 

0은 표준입력
1은 표준출력
2는 표준에러

입니다.

 

여기서 우리는 입력을 해야하기 때문에 표준 입력을 사용해야해요!

 

그러면 fd값에는 0이 들어가야하겠죠?

 

즉, 인자에 0x1234값인 4660값을 넣어주게 되면 fd에는 0값이 들어가게되고,

 

LETMEWIN을 입력해주면??

깔쌈하게 CLEAR!