Profile

머리정리하는곳

c2w2m2

[Toddler's Bottle] FD


접속 ㄱㄱ





read 함수는 무엇일까요??

형태

  ssize_t read (int fd, void *buf, size_t nbytes)

 

 


 

 인수

 int fd

 파일 디스크립터

 

 void *buf

 파일 읽어들일 버퍼

 

 size_t nbytes

 버퍼의 크기



라는데 저희가 조작 가능한 부분이 fd 죠? 그럼 fd 즉 파일 디스크립터는 무엇일까요????



정의 : 파일을 관리하기 위해 OS가 필요로 하는 파일의 정보를 가지고 있는 것입니다. 


이게 값을 0, 1, 2 를 가지는데 


0 : 표준입력 stdin

1 : 표준출력 stdout

2 : 표준에러 stderr


라고 합니다.


저 문제를 뚫기 위해서는 buf 값이 LETMEWIN이 되야하는데 buf에 원하는 값을 넣기 위해서는 fd가 표준입력이 되면 되겠죠? 


0x1234 가 4660 입니다. argv[1]에 4660 을 넣으면 4660 - 0x1234 = 0 이 되서 fd 가 표준입력이 되니 buf값을 넣을수 있지 않을까요?



첫문제라 그런지 간단 하네요



'Pwnable' 카테고리의 다른 글

[Plaid] Ropasaurusrex  (0) 2017.06.28
[Toddler's Bottle] cmd1 , cmd2  (0) 2017.05.30
[Toddler's Bottle] flag  (0) 2017.05.30
[Toddler's Bottle] random  (0) 2017.05.30
[Toddler's Bottle] bof  (1) 2017.05.24