본문 바로가기

WARGAME/pwnable.kr [system]

[Toddler's Bottle] 1번 fd

fd

putty로 로그인해도 좋고 칼리로 해도 좋지만 나는 칼리를 사용했다.

ls

로그인 후 ls 로 파일을 확인하는데 우선 c 파일이 보여서 확인해보기로 했다.

fd.c 먼저 cat

fd.c

  *atoi :문자열-> int

fd = int(첫번째 인자) - 0x1234

이후 read 함수의 첫번째 인자로 fd가 들어가는데 문제 이름이 fd 인 만큼 fd 를 이용해야한다는 것을 알 수 있다.

  *fd = 0 : 표준 입력

  *fd = 1 : 표준 출력

  *fd = 2 : 표준 에러출력

따라서 fd에 따라 buf 에 저장되는 것으로 볼 수 있다.

이 buf 에 저장된 값과 ”LETMEWIN”이 같으면 flag 획득할 수 있다는 것 같다.

 

우선 0x1234 = 4660 이므로 ./fd 실행 시 인자로4660 함께 입력하면, 

표준 입력이 되어 문자열을 입력 받을 수 있게 되고 이 때 LETMEWIN을 입력하면 될 것으로 보인다.

 

flag

flag 획득 

'WARGAME > pwnable.kr [system]' 카테고리의 다른 글

[Toddler's Bottle] 6번 random  (0) 2019.11.28
[Toddler's Bottle] 9번 mistake  (0) 2019.11.27
[Toddler's Bottle] 4번 flag  (0) 2019.11.19
[Toddler's Bottle] 3번 bof  (0) 2019.11.19
[Toddler's Bottle] 2번 collision  (0) 2019.11.14