power-girl0-0

[pwnable] fd 풀이 본문

War game/pwnable.kr

[pwnable] fd 풀이

power-girl0-0 2021. 12. 27. 23:40
728x90

안녕하세요! ლ(╹◡╹ლ)

풀이 간단히 적고 가겠습니다~~


1. 문제 

문제에 주어진대로 접속하면, 존재하는 3개의 파일을 확인할 수 있다.

fd.c파일을 열어 c언어 코드를 확인할 수 있다.

 

2. 풀이

c코드를 분석해보면, 아래와 같은 조건을 확인할 수 있다.

 1. 입력받은 인자값에서 0x1234 뺀 값을 read함수의 fd 위치에 넣어준다.
 2. read함수를 통해, 입력받은 값이 LETMEWIN이라는 문자일 경우, flag를 획득한다.

즉, fd의 값을 0으로 만들어서, read함수가 표준입력 역할을 수행하도록 만들면 된다.

 ※ fd (file descriptor)
     : 리눅스나 유닉스에서 프로세스가 파일을 다룰 때 사용하는 개념

      ⇨ 0 : 표준입력
      ⇨ 1 : 표준출력
      ⇨ 2 : 표준에러

 

따라서, 0x1234를 10진수로 바꾼 값인 4660을 인자로 보내면, 아래와 같이 사용자는 값을 입력할 수 있다.

여기에 "LETMEWIN"문자열을 입력하면, flag를 획득할 수 있다.

 

3. flag 획득

 


그럼 안녕히 계세요~~ (ノ◕ヮ◕)ノ*:・゚✧

728x90

'War game > pwnable.kr' 카테고리의 다른 글

[pwnable] flag 풀이  (0) 2022.02.12
[pwnable] collision 풀이  (0) 2022.02.09
[pwnable] input 풀이  (0) 2022.02.07
[pwnable] asm 풀이  (0) 2022.01.21
[pwnable] bof 풀이  (0) 2022.01.20
Comments