ipwn
[pwnable.kr] cmd1 본문
이번 문제는 cmd1문제이다.
한 번 서버에 접속해보겠다.
코드를 보니 argv[1]을 system함수로 넘겨주어 명령어를 실행시켜야 한다. 하지만 sh, tmp, flag는 필터링 해놓았다.
그리고 환경변수 PATH를 바꿔버렸다. 즉 명령어의 절대경로를 입력해야 명령어가 실행될 것이다.
그렇다면 필터링을 피해서 어떻게 실행을 할 수 있을지 고민해보자.
나는 환경변수가 생각나서 환경변수로 풀었다.
일단 환경변수를 저렇게 등록하고 $fl을 입력해보면 flag를 읽어오려는 시도를 하는 걸 알 수 있다.
환경변수를 저렇게 등록한 이유는 프로그램을 실행하면 환경변수 PATH를 바꿔버려, 절대경로로 입력을 해야 명령어
사용이 가능하기 때문이다. 이 환경변수를 cmd1 프로그램에 넣어서 setuid가 걸린채로 flag를 읽어와보겠다.
성공적으로 플래그를 읽어왔다.
'Write up > Pwnable.kr' 카테고리의 다른 글
[pwnable.kr] mistake (0) | 2018.01.06 |
---|---|
[pwnable.kr] cmd2 (0) | 2018.01.04 |
[pwnable.kr] lotto (0) | 2018.01.03 |
[pwnable.kr] blackjack (0) | 2018.01.03 |
[pwnable.kr] random (0) | 2018.01.01 |
Comments