728x90

Mommy! what is a file descriptor in Linux?


ssh fd@pwnable.kr -p2222 (pw:guest)


--------------------------------------------------------------------------------------------------

접속 해 보자.



소스 파일을 열어보자



위 소스를 보면


메인함수의 매개변수를 정수로 변환하여 { atoi() - 아스키값을 정수로 }


0x1234를 뺀값을 파일디스크립터로 취하여 buf에 값을 읽어드린다.


그리고 "LETMEWIN\n"와 문자열을 비교하여 flag파일 내용을 출력한다.



- 파일 디스크립터(File Descriptor) : 시스템이 할당하여 준 파일이나 소켓을 대표하는 정수

   이 정수를 이용하여 파일에 접근하거나 제어할 수 있다. (윈도우에서의 HANDLE과 같다.)


항상 미리 예약되어 있는 값이 있는데

      ㄴ  표준 입력 : 0

          표준 출력 : 1

          표준 에러 출력 : 2

이다. 



해서 위 fd값을 표준 입력의 fd인 0으로 값을 주면 buf에 원하는 값을 넣을 수 있다.


0x1234는 십진수로 4660이므로




성공.

728x90

'ctf + wargame > pwnable.kr' 카테고리의 다른 글

[pwnable.kr] - collision  (0) 2015.07.12

+ Recent posts