목록Wargame/ NATAS (15)
Sh4n3e
이번 문제는 저번 문제랑 다를게 없다... 쪼금 다른데 쉽다.그래서 간단하게 넘어갈 생각이다. (모르겠다면 댓글로 질문해도 좋다.) 문제를 보면 보안상 문제로, image file만 허용한다고 한다. 하지만 그렇다고 해서 풀지못한다면 문제가 있겠지...?해당 문제도 파일업로드 취약점으로 접근한다. 하지만 이 문제는 natas12와 달리 정말 Image File인지 검사한다. 그 검사의 루틴은 소스코드에 들어가 있는데 바로 그부분은 else if (! exif_imagetype($_FILES['uploadedfile']['tmp_name'])) { echo "File is not an image"; 바로 이 루틴이다.exif_imagetype()함수를 통해서 해당파일에 exif헤더를 파싱하는 것이다. jp..
Natas12 문제까지 왔다. 조금만 더 힘을 내보자.(그래봐야 아직 반도 못왔다는...) 문제의 URL은 아래와 같다.[URL : http://natas12.natas.labs.overthewire.org/]문제의 URL로 접속하면 아래와 같은 화면을 볼 수 있다.JPEG 파일을 선택해서 업로드하라고 한다. 그리고 최대 size는 1KB라고 한다. 아무파일이나 선택해서 업로드를 해보자! 업로드를 하면 위와 같이 upload디렉터리에 임의로 지정된 이름과 jpg확장자를 가진 파일이 업로드 되었다고 나온다.(필자는 여기서 test.jpg 라는 파일을 업로드 하였다.)그럼 이 페이지는 어떻게 동작하는지 알아보기 위해 sourcecode를 한번 보자. 소스코드를 보게 되면, 여러개의 함수가 보인다.genRan..
문제의 URL을 접속하면 아래와 같다.[URL : http://natas11.natas.labs.overthewire.org] 문제를 보면 쿠키값이 XOR 암호화 방식으로 보호되어 있다. 라고 써있다. 음.. 그렇군 하며 Source코드를 보러간다. 처음보는 사람은 "읭? 이게 머지....." 라고 할지도 모른다.그냥 봤을때 복잡해 보이니까...? 하지만 간단하게 생각하면된다.게다가 문제자체에 힌트가 주어져있다. XOR방식으로 암호화 했단다.그럼 한번 시작해보자. 123456Colored by Color Scriptercs 우선 해당 문제는 $data["showpassword"]가 yes면 natas12의 password를 보여주는 것이다.그럼 $data["showpassword"]가 어디에 존재하는지 ..
Natas10 문제를 풀어보도록하자. 이번 문제는 의외로 생각(?)을 해야하는 문제이다.Natas9와 다를바 없어 보이지만, 약간 다르다...[URL : http://natas10.natas.labs.overthewire.org]문제는 아래와 같다. 뭐 소스를 봐달라고 하니 한번 봐야겠지? 이전 문제에서 설명했던 passthru()함수는 그대로 사용하고 있다. 하지만 앞에서 우리가 Command를 사용할때 다중 명령어를 수행할 수 있게하는 연산자인 ; | & 에 대해서 정규표현식을 통해 막아 놓은 상태이다. 만약 사용하게 되면 아래와 같은 메시지가 뜨게 된다. 그럼 우리는 이것을 어떻게 우회할 수 있을까? 고민에 빠지게 된다. 뭐 별거 있나? 어쨌거나 읽으면 된다. 어차피 들어가있는 암호는 영문자와 숫자..
문제를 풀어보자![URL : http://natas9.natas.labs.overthewire.org]해당페이지에 접속하면 아래와 같은 화면이 뜬다. Find words containing으로 해당 단어가 포함되어 있는지 찾아보는 페이지로 제작되어 있는듯 하다.해당 문제를 정확하게 파악하기 위해 Source code를 볼 수 있는 Link로 들어가보자. 상당히 인상깊은 부분을 볼 수 있는데, 그것은 바로 passthru이다. passthru가 어떤 기능을 하는 함수인지 간단하게 알아보고 넘어가자.http://php.net/manual/kr/function.passthru.phpphp.net에서 passthru 함수에 대한 정의를 찾아볼 수 있는데, passthru(PHP 4, PHP 5, PHP 7)pa..
Natas8 문제를 풀어보도록 하자.해당 URL에 접속하면 아래와 같은 화면을 볼 수 있다.[URL : http://natas8.natas.labs.overthewire.org/] Input Box가 존재하고 submit하는 것으로 보인다. 우선 View Sourcecode Link를 한번 들어가보자. 들어갔더니 $encodedSecret라는 값이 "3d3d516343746d4d6d6c315669563362" 이렇게 존재한다.그리고 encodeSecret라는 함수가 보이는데 여기서 하는 연산은return bin2hex(strrev(base64_encode($secret))); 이다. 그리고 POST방식을 통해 넘겨받은 secret라는 input value는 encodeSecret()함수에 던져져서 $en..
Natas7 문제를 풀어보도록 하자.해당 문제의 URL로 접속하면 아래와 같은 화면을 볼 수 있다.[URL : http://natas7.natas.labs.overthewire.org/index.php] 해당 페이지에 접속해보면 Home과 About에 대한 Link가 존재함을 보인다. 둘다 눌러보자. 누를때마다 index.php?page=home 혹은 index.php?page=about으로 GET방식으로 Request를 하는 것을 확인할 수 있다.오호? 그럼 이 부분을 변조해서 한번 때려넣어보자... (우선 삽질을 해보는 것이다.) Warning이 뜬다.해당 에러메시지를 자세히 보자. Warning: include(test): failed to open stream: No such file or dir..
Natas6 문제를 풀어보도록 하자해당 URL로 접속하면 아래와 같은 화면을 볼 수 있다.[URL : http://natas6.natas.labs.overthewire.org/index.php] Secret를 Input하라는 Input box가 보이고, View Sourcecode의 Link가 보인다.해당을 클릭해서 Source code를 보자. 해당 코드를 보면 PHP코드로 되어있는 부분을 볼 수 있다.로 끝나는 부분이 PHP코드이다. 이걸 보고 있는 사람은 알겠지만 PHP코드는 Server Side 코드로 일반적인 소스보기로는 보여지지 않는다. 그래서 따로 힌트를 제공하기 위해 이렇게 보여주고 있는 걸로 보인다. 보면 include를 통해 includes/secret.inc의 파일을 참조하고 있는 것..
Natas5 문제를 풀어보자. 문제의 URL에 접속하면 아래와 같은 화면을 보게 된다.[URL : http://natas5.natas.labs.overthewire.org/index.php] 접근이 허용되지 않았다고 한다, 왜냐하면 로그인을 하지 않았으니까! 라는 메시지를 전하고 있다.뭐 어쩌라는건지... 라는 생각을 가지게 된다. 우선 Burp Suite를 켜고 무엇을 Request하고 Response하는지 보자. 자세히 보면 Cookie 정보에 [loggedin=0]라고 되어있는게 보일 것이다. 아? loggedin이 0, 즉 false인 상태로구나 라고 유추가 된다. 그렇다면 이 값을 바꿔보자. loggedin=1로 값을 바꾸고 Request를 한다. 너무 어이없게도 문제가 풀려버렸다. 다음문제로 ..
다음 문제를 한번 풀어보도록 하자. 이번 문제는 Natas4 문제 이다. Access disallowed라고 한다. 왜 접근을 허용하지 않는거야! 라고 하기전에 우선 Refresh page를 눌러보자. 나는 아무것도 안했는데 "http://natas4.natas.labs.overthewire.org/"로부터 방문했고, 여전히 Access disallowed 라고 한다.그리고 "http://natas5.natas.labs.overthewire.org"로부터 방문한 사용자만 인증된다 라고 말하고 있다.흠... 이럴땐 Burp Suite을 한번 써보자. 자세히 살펴보면 Referer에 http://natas4.natas.labs.overthewire.org가 써있다. 여기를 한번 다르게 변조해서 들어가보자. ..