Sh4n3e
[웹해킹][Natas] Natas10 문제 풀이 본문
Natas10 문제를 풀어보도록하자. 이번 문제는 의외로 생각(?)을 해야하는 문제이다.
Natas9와 다를바 없어 보이지만, 약간 다르다...
[URL : http://natas10.natas.labs.overthewire.org]
문제는 아래와 같다.
뭐 소스를 봐달라고 하니 한번 봐야겠지?
이전 문제에서 설명했던 passthru()함수는 그대로 사용하고 있다. 하지만 앞에서 우리가 Command를 사용할때 다중 명령어를 수행할 수 있게하는 연산자인 ; | & 에 대해서 정규표현식을 통해 막아 놓은 상태이다. 만약 사용하게 되면 아래와 같은 메시지가 뜨게 된다.
그럼 우리는 이것을 어떻게 우회할 수 있을까? 고민에 빠지게 된다. 뭐 별거 있나? 어쨌거나 읽으면 된다. 어차피 들어가있는 암호는 영문자와 숫자로 섞여있을 것이다. 그럼 우리는 이것을 정규표현식을 가지고 찾아라! 하면된다.
input box에 이렇게 넣어보았다.
'[a-z]' /etc/natas_webpass/natas11
해당 명령어는 아래와 같은 Full command가 된다.
#grep -i '[a-z]' /etc/natas-webpass/natas11
결과는 아래와 같다.
숫자가 들어간 것으로 찾아내고 싶다면 이렇게 하면 된다.
#grep -i '[0-9]' /etc/natas-webpass/natas11
다음 문제로 갈 수 있는 열쇠를 찾았다. 다음으로 가보자.
/etc/natas_webpass/natas11:U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK
*추가첨언
우리는 이전 문제에서 저 natas의 위치를 알고 접근하였다. 하지만 모른다면 어떻게 접근해야할 것인가에 대해서 고민해봐야할 것이다.
이때는 grep의 명령어의 특성을 이용해보는 것도 좋은 방법중의 하나이다.
-r 옵션을 추가해서 사용하면, 다음과 같은 일이 벌어진다.
나는 저기에
-r '[0-9]' /etc/* 을 추가적으로 주고 다시 시도해보았다.
Full command는 아래와 같게 될 것이다.
grep -i -r '[0-9]' /etc/* dictionary.txt
해당 명령어는 파일안에 숫자가 포함되는 문자를 찾아줘 다음 경로로부터 recursive 하게 찾아줘! (재귀적으로 /etc/ 이하 디렉터리에 있는 모든파일을 뒤져보는 명령어인 것이다.)
결과는 아래와 같다.
'Wargame > NATAS' 카테고리의 다른 글
[웹해킹][Natas] Natas12 문제 풀이 (0) | 2017.11.28 |
---|---|
[웹해킹][Natas] Natas11 문제 풀이 (0) | 2017.11.28 |
[웹해킹][Natas] Natas9 문제 풀이 (0) | 2017.11.27 |
[웹해킹][Natas] Natas8 문제 풀이 (0) | 2017.11.27 |
[웹해킹][Natas] Natas7 문제 풀이 (0) | 2017.11.27 |