본문 바로가기
워게임/natas

[natas - WEB hacking] level8 -> leve9

by B T Y 2017. 10. 8.
반응형

[natas - WEB hacking] level8 -> leve9





[ 풀이과정 ]


이 문제에서는  페이지 소스를 확인해보면 grep을 이용해서 입력한 내용을 검색하는 페이지이다.

passthru("grep -i $key dictionary.txt"); 부분을 이용해서 command injection 공격을 해야한다.

php에서 passthru() 함수는 system() 함수와 같이 외부 명령어를 실행 할 수 있게 해주는 함수이다.

리눅스에서 한줄에 여러개의 명령어를 실행할때는 &, |, ; 과 같이 구분자를 사용한다.

;를 이용해서 구분자를 이용했고 그렇게 되면 입력폼에 입력한 내용이 $key로 들어가서 실행되게 된다.

여기서는 다른 방법도 있을수 있지만 find명령어를 이용해서 문제를 풀었다.

;find / -user natas10 2> /dev/null를 $key값으로 주고 검색해보니

/etc/natas_webpass/natas10이라는 natas10의 패스워드가 들어있을만한 파일을 찾았다..

이제 이 파일에 대한 내용을 알아내기만 하면 된다...



이 파일을 cat 명령을 이용해서 ;cat /etc/natas_webpass/natas10을 해보니 

다음 스테이지로 갈 수 있는 natas10의 패스워드가 나왔다.




nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu



반응형

댓글