write-up/pwnable

[pwnable.kr] cmd1

여니두 2019. 9. 29.

- strstr()

: 문자열 안에서 문자열 찾는 함수

 

- putenv() 함수

: 선언된 경로 안에서 프로그램이 동작하게끔 경로를 설정하는 역할을 수행!

 

- main()

PATH 환경변수를 설정

입력값이 filter()에 걸러지면 return 0

그렇지 않을 경우 입력값을 system() 함수로 실행시킴.

 

- filter()

입력값에서 "flag", "sh", "tmp"이 발견되면 r은 1씩 증가

 

알고보니 아주 허무한 문제였다.

 

리눅스의 와일드카드(*)를 이용하면 쉽게 풀리는 기초 Bypass 문제였다.

 

 

not found라고 뜨는 것은 아까 putenv를 통해 /thankyouverymuch 아래에서 프로그램이 동작하게 되어 있기 때문이다.

이 경로 아래에 flag가 없어서 그런 것이다.

 

--> 쉘 상에서 절대경로를 입력하여 프로그램을 실행하자.

 

argv[1]을 한꺼번에 주기 위해 큰 따옴표로 묶어서 입력을 했다.

'write-up > pwnable' 카테고리의 다른 글

[HackCTF] Basic_BOF #2  (0) 2019.10.04
[HackCTF] Basic_BOF #1  (0) 2019.10.04
[pwnable.kr] mistake  (0) 2019.09.29
[pwnable.kr] input  (0) 2019.09.29
[pwnable.kr] random  (0) 2019.09.29

댓글