Pwnable.kr 1번 문제 fd
Toddler's Bottle
Toddler는 걸음마를 배우는 아이란다
아마 난이도를 의미하는것같다
먼저 준비물이 있다.
리눅스 계열의 운영체제 및 putty 가 필요하다
나는 우분투를 쓸 예정이며 리눅스계열의 운영체제가 있다면 putty는 그닥 없어도 된다.
리눅스계열이라면 그냥 저대로 치면 된다 당연히 pw 부분을 제외하고
Putty를 사용한다면 fd@pwnable.kr Ip칸에 입력해주고, 포트번호를 22번에서 2222번으로 변경해주고 하면된다.
접속이 완료된 후 ls 를 입력하면 파일목록이 뜬다
당연히 flag가 답인 것 같은데
flag를 쉽게 보여줄리 없음
vi fd.c 소스부터 보면
대충 argument 가 2개 미만이면 종료 시키는 소스부터
argument를 입력받아서 숫자로 변환시킨 후, -0x1234를 해준다
그리고 여기서 read()라는 함수를 쓴다.
read(int fd,void * buf,size_t nbytes)
int fd : 파일 디스크립터
void * buf : 파일을 읽은 내용을 저장할 변수
size_t nbytes : 파일을 읽을데이터의 크기 를 의미한다.
파일 디스크립터의 설명을 하자면
0은 표준 입력
1은 표준 출력
2는 표준 에러
이정도가 큰 힌트이다.
이 정도면 풀 수 있을것이다.
'보안 > 시스템' 카테고리의 다른 글
pwnable.kr 공부 (0) | 2017.07.24 |
---|