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 |
---|