Web/Natas

    Level 8 → Level 9

    일단 아무거나 집어넣고 결과를 봤습니다. ddd 를 넣어봤지만 아무것도 나오지 않았습니다. 이제 View sourcecode를 통해 소스를 확인해보도록 하죠. REQUEST method로 받아오는 걸 보니 GET, POST 어떤 방식이든지 상관없다는 걸 뜻합니다. 간단히 말하자면 입력한 값을 key값으로 넣어주고 그다음에 grep 명령어로 dictionary.txt 안의 내용을 찾아준다는 것입니다. 저희는 dictionary.txt 안에 무슨 내용이 들어있는지 모르므로 먼저 모든 내용을 보고 싶다는 생각이 들 것입니다. 그래서 grep 사용법을 참고하여 모든 내용을 나타내는 패턴인 .* 을 사용해서 보도록 하겠습니다. 엄청 많은 내용이 담겨있는데 딱히 눈에 띄는 정보는 없습니다. 그럼 코드 상에 힌트가 ..

    Level 7 → Level 8

    이번에도 저저번 문제와 마찬가지로 secret의 값을 전달합니다. View sourcecode를 눌러 소스를 확인해보겠습니다. 이번에는 base64로 인코딩 된 secret 값이 미리 주어졌습니다. 저희가 전달해준 값이 어떻게 변조되는지 보도록 합시다. 일단 값이 전달되면 function encodeSecret($secret) 함수를 부르고 나서 1. base64로 인코딩 2. strrev() 함수로 string을 역순으로 만듦 3. bin2hex() 함수로 string을 이진수로 인식하고 hex(16진수)로 바꿔줌 그렇다면 우리가 할 일은 'encodedSecret' 값을 반대로 적용해주면 됩니다. 1. hex2bin() 적용하기 2. strrev() 함수로 다시 원래 순서로 만들기 [ b3ViV1lm..

    Level 6 → Level 7

    위의 버튼을 각각 누를 시 보이는 텍스트입니다. 이걸로는 아무것도 알 수가 없어서 Ctrl + U로 페이지 소스를 봤습니다. 그랬더니 이런 힌트를 발견할 수 있었습니다. 다음 레벨의 패스워드는 /etc/natas_webpass/natas8 경로에 존재한다고 합니다. 그리고 다시 상기해보면 위의 링크들을 클릭했을 때 GET으로 접속하는 것을 알 수 있습니다. 그래서 일단 아무 값이나 넣어봤습니다. ?page=wow 그랬더니 이런 오류가 발생했습니다. page로 전달한 인자 값이 있는 곳에 있는 것을 가져와 나타내 주는 것 같았습니다. 그래서 주어진 경로를 page의 파라미터로 전달해줘 봤습니다. ?page=/etc/natas_webpass/natas8 그랬더니 이렇게 뜨는 것을 알 수 있습니다! DBfUB..

    Level 5 → Level 6

    secret인 무언가를 입력하고 제출하라고 합니다. View sourcecode를 클릭해서 어떤 코드인지 살펴보도록 합시다. 여러 줄의 코드 중에서도 이 부분이 저희에게 중요한 부분입니다. 입력한 값은 POST 방식으로 전달하게 됩니다. 일단 if문을 살펴봤을 때 저희는 어떠한 힌트도 알 수 없습니다. 그렇다면 저희는 저 $secret이 어디서 왔는지 궁금해야 합니다. 바로 눈에 보이는 경로가 하나 있습니다. include "includes/secret.inc"; 이 부분이죠. include는 php에서 해당하는 파일을 부른 곳에 올려놓는 역할을 합니다. 마치 C, C++에서 사용하는 #include처럼 말이죠. 접근을 막아놨다면 모르지만 들어가 보겠습니다. 그럼 이렇게 어떤 값을 불러왔는지 알 수 있게..

    Level 4 → Level 5

    또다시 접근이 거부되었습니다. 로그인되어있지 않다고 하는군요. 이번에도 Proxy를 이용한 데이터 변조를 이용해야 할 것 같습니다. (IE에서 진행하겠습니다.) 이렇게 잡아줬습니다. 그리고 눈에 확 띄는 한 부분이 보이죠? 바로 이 부분입니다. 0으로 된 것을 보니 0일 때 login이 실패하나 봅니다. 그래서 0이 아닌 간단한 수로 바꿔줬습니다. 이제 Foward 해보죠. 그렇죠. 다른 풀이 차원에서 말씀드리면 Cookie 값을 조작하는 문제이므로 Chrome 확장 프로그램 중에 Cookie를 조작하는 프로그램을 이용해서 풀 수도 있습니다. 한번 해보셔도 좋을 것 같아요. ㅎㅎ

    Level 3 → Level 4

    이번 문제는 지정된 곳에서 온 사용자만이 해당 문제를 통과할 수 있다고 합니다. 하지만 당연하게도 저희는 level5를 풀지 않았기 때문에 절대 그냥은 통과할 수가 없습니다. 그래서 저희는 우회를 통해 데이터를 변조하고 이 문제를 통과해보려 합니다. 먼저 우리는 Burp Suite라는 툴이 필요합니다. 그리고 나서 Proxy 설정을 해둡니다. 그리고 Refresh page 링크를 누르면 다음과 같이 데이터가 넘어가기 전에 잠깐 잡히게 됩니다. 이 부분에서 저희는 현재 표시하는 웹페이지가 어떤 웹페이지에서 요청되었는지를 나타내는 Referer 부분을 변조해주어야 합니다. 다음과 같이 4를 5로 변경해주고 나서 Burp Suite의 Foward 버튼을 누르고 마지막으로 Refresh page 버튼을 누르면?..

    Level 2 → Level 3

    이전 문제와 똑같군요. 습관처럼 Ctrl + U로 소스를 보도록 합시다. 하나 주석이 있습니다. 더 이상은 정보를 누설하지 않겠다는군요. Google조차 이번만큼은 찾을 수 없다는 말을 보아 검색 bot이 찾을 수 없게 한 곳이 어딘지를 알면 알 수 있다는 소리겠죠. 이때 저희는 robots.txt를 생각해볼 수 있습니다. 검색과 관련해서 규칙을 지정해놓은 텍스트 파일이죠. 최상위 루트에 위치하고 있으므로 한번 들어가 보겠습니다. 허용하지 않은 경로가 하나 보이는군요. Google도 찾을 수 없는 곳이니 저기가 정답일 것입니다. 이번에도 users.txt로 들어가 봅시다. Got It! Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZ

    Level 1 → Level 2

    아무것도 없다고 합니다. Ctrl + U로 일단 확인해보죠. 눈에 보이는 주석은 아무것도 없습니다. 심지어 저희의 시선을 끌게 하는 header 쪽 여러 파일들도 아무런 정보가 포함되어 있지 않다고 합니다. 그렇다면 남은 건 딱 하나. 바로 이 부분입니다. 한번 들어가 봅시다. 들어가면 아무것도 없는 검은색 화면이 저희를 반겨줍니다. 여기서 곰곰이 생각하다가 경로가 눈에 띄었습니다. 그래서 pixel.png를 지운 경로로 접속해봤습니다. 그랬더니... 이렇게 눈에 띄는 users.txt 파일이 보입니다. 들어가 주면 이렇게 발견할 수 있습니다. sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14

    Level 0 → Level 1

    이전 문제에서 마우스 오른쪽 클릭 후 페이지 소스보기를 하신 분들은 아마 이런 알림 창을 보셨을 겁니다. 그러니 저희는 단축키를 통해서 접근해보도록 하죠. Ctrl+U 로 페이지 소스를 봅시다. PASS! ZluruAthQk7Q2MqmDeTiUij2ZvWy2mBi