pwnable.kr
[Toddler's Bottle]
# cmd1
코드 내용을 설명하자면, PATH를 추가하는 것도 아니고 아예 이상한 곳으로 바꿔버리기 때문에 기존의 명령어는 모두 절대경로로 해야한다. 예를 들어 cat도 /bin/cat으로 해야함.
그래서 which를 이용해서 명령어의 위치를 찾아주었다.
cat flag를 해야지 플래그를 얻을 수 있는데, filter 함수에 의해서 flag라는 글자와 sh, tmp등의 문자열이 인자로 들어갈 경우에 if문에서 True가 되어서 return 0으로 종료됨을 알 수 있다.
따라서 find 명령어를 이용하기로 했다.
<find 명령어>
find
find 명령만 입력하면 현재 디렉토리(.)에 있는 파일을 찾는다. (하위 디렉토리, 숨겨진 파일도 표시)
find /etc
특정 디렉토리(여기서는 /etc)에 있는 파일을 검색한다.
find /etc -name "ssh*"
찾을 파일이름을 지정할 수 있다.
find . -name "test*"
-name 옵션으로 찾을 파일 이름을 지정한다.
find . -name "test*" -type d
디렉토리만 찾을려면 -type d 옵션을 사용한다.
find . -empty
빈 파일을 찾기위해 -empty 옵션을 사용한다.
find . -exec 명령어 {} \;
-exec 옵션 뒤에 명령어를 입력하여 검색한 파일로 부가적인 작업을 수행할 수 있다.
(검색된 파일이 {} 위치에 입력되어 처리된다.)
출처:
flag를 쓰지 못하니까 정규표현식으로 표현할 수 있다.
밑의 명령어는 왜 .bash_history를 접근하는지 모르겠지만, 그런가보다.
'Wargame > pwnable.kr' 카테고리의 다른 글
[pwnable.kr] TB #shellshock (0) | 2019.07.14 |
---|---|
[pwnable.kr] TB #random (0) | 2019.07.13 |
[pwnable.kr] TB #lotto (0) | 2019.05.15 |
[pwnable.kr] TB #mistake (0) | 2019.05.14 |
[pwnable.kr] TB #bof (0) | 2019.03.20 |