반응형

exploit-exercises 문제풀이 / Nebula Level07 - perl

 

flag07 사용자는 웹 서버에서 접근 할 수 있는지 확인하기 위해,

호스트를 ping 할 수있는 첫 번째 perl 프로그램을 작성했다고 합니다. 

 

login은 ID/PW를 level07/level07로 하고, 이 레벨을 위한 파일은 /home/flag07에 있다고 합니다. 

 

문제로 나온 index.cgi 코드입니다. 

Host에 $host 입력을 위한 localhost 주소(127.0.0.1)를 입력해 보도록 하겠습니다. 

./index.cgi 파일에 Host 전달인자를 넣어 실행하면, 전달인자로 넣은 주소로 ping이 가게 됩니다. 

웹 서버에 대한 설정이 들어 있는 thttpd.conf 파일을 보겠습니다. 

port는 7007이고, 웹 서버의 디렉토리를 /home/flag07로 설정되어 있습니다. 

웹으로 포트는 7007이고, /home/flag07 디렉토리에 있는 파일을 실행시킬 수 있습니다. 

또한 그 파일을 실행시킬 때, flag07의 권한으로 실행시킬 수 있습니다. 

웹으로 접근하기 위해 ip를 확인하여 접근하도록 하겠습니다. 

index.cgi 파일에 Host를 ping 하는 것이 flag07 권한으로 실행되었습니다. 

그러면 이 주소에 getflag 명령어를 넣어 flag07 권한으로 getflag가 실행되도록 하겠습니다. 

세미콜론을 의미하는 %3B를 넣고, getflag 명령어를 입력하였더니, 아래와 같이 문제가 해결되었습니다. 

반응형

+ Recent posts