[pwnable.kr] cmd1 - 1 pt
2018. 5. 1. 15:21
이번에 풀 녀석은 이놈!
문제는 아래와 같다. 먼저 접속!
문제의 소스파일은 시작하면 PATH 환경변수를 망가뜨리고, argv[1]에서 flag, sh, tmp등을 필터한다.
필터후에 system으로 argv[1]을 실행하는데, PATH가 망가졌으므로 절대경로로 명령값을 넣어주면 된다.
원래 SHELL을 사용할때 명령어를 입력하면 PATH 환경변수에 지정된 경로에서 입력받은 명령과 같은 파일을 찾아 exec 시스템콜로 호출하는데
여기서 PATH를 망가뜨려주므로 cat을 사용하려면 /bin/cat으로 쓰면 된다.
flag를 필터하므로 fl*으로 출력하도록 해보았다.
잘 출력되었다.... 뭐지; 이렇게 쉬운 문제인가;
뭔가 좀 아닌것 같아서 다른 사람들은 어떻게 풀었는지 검색해보니
심볼릭 링크나 환경변수를 이용해서 문제를 풀었다. 심볼릭링크는 /tmp에 폴더 및 파일을 생성해 심볼릭링크를 걸어 해결하는 거고
환경변수 이용하는것이 이번 문제에서 의도한 것같다.
$ export x=/home/cmd1/flag
$ ./cmd1 "/bin/cat \$x"
'Wargame > Pwnable.kr' 카테고리의 다른 글
[pwnable.kr] collision - 3 pt (0) | 2018.05.02 |
---|---|
[pwnable.kr] blackjack - 1 pt (0) | 2018.05.01 |
[pwnable.kr] shellshock - 1 pt (0) | 2018.05.01 |
[pwnable.kr] mistake - 1 pt (0) | 2018.04.27 |
[pwnable.kr] random - 1 pt [Toddler's Bottle] (0) | 2018.04.25 |