ipwn

[pwnable.kr] cmd1 본문

Write up/Pwnable.kr

[pwnable.kr] cmd1

ipwn 2018. 1. 4. 16:58


이번 문제는 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