목록Run to us with Sh4n3e (77)
Sh4n3e
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가 써있다. 여기를 한번 다르게 변조해서 들어가보자. ..
이번에도 우선 Natas3 문제로 접속해보자 그래 이번에도 이 페이지에는 패스워드가 없구나? 그럼 어딨지?우선은 소스를 한번 보자. 힌트가 적혀있다.""No more information leaks!! Not even Google will find it this time..."정보가 새지 않는단다. 구글도 찾을 수 없을 거란다...이건 뭐지? 하는 사람이 있을 거다.하지만 구글엔진 봇은 항상 인터넷을 떠돌며 정보를 수집하는데, 보통은 robots.txt에 disallow되어있는 곳은 수집이 불가능하다. 그렇기 때문에 구글이 찾을 수 없을 거라고 써놓은 것이다.따라서 우리는 robots.txt로 들어가보면 정보를 얻을 수 있지 않을까 하고 들어가본다. /s3cr3t/의 위치가 Disallow되어 있는 것을..
Natas2 문제를 풀어보자. 링크에 접속하면 아래와 같은 화면을 볼 수 있다. 이 페이지에는 없다고 한다.... 이렇게 문제는 끝났다고 한다...라고 하기엔 너무 아쉽지 않은가 우선 소스를 보러 가보자. 소스를 보는데 구린냄새가 난다. 이전 소스들과는 다르게 img태그가 존재한다.구린냄새가 나면 들어가보자. 하얀색 작은 점 하나가 보인다. 이게 저 pixel.png파일이다. 여기서 끝? 하고 끝낼 수는 없는 일이다.느낌이 온다. pixel.png는 files이라는 디렉터리 안에 존재하는 파일이다.만약 이 페이지에 디렉터리 리스팅 취약점이 존재한다면 우리는 files 디렉터리 안에 있는 파일을 볼 수 있을 것이다.이런 가정하에 한번 natas2.natas.labs.overthewire.org/files/..
문제를 풀어보자.문제 링크로 들어가면 다음과 같은 화면을 우리는 볼 수 있다. 문제에서는 우측 클릭을 막아놨다고 한다. 정말 막혔는지 한번 보자. 정말 막혔다. 그럼 우리는 소스보기를 어떻게 해야할까? 근데 너무나도 간단한 방법이 존재한다.URL 앞에 view-source: 를 붙여주기만 해도 우리는 소스를 볼 수 있다. 문제는 풀렸다. The password for natas2 is ZluruAthQk7Q2MqmDeTiUij2ZvWy2mBi 다음 문제로 넘어가보자.