write-up/pwnable
[pwnable.kr] cmd1
- 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 |
댓글