전체 보기
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
Level 23 → Level 24
이번 문제는 저 스스로 shell-script를 작성해서 푸는 문제인가 보군요. 그리고 한번 실행하고 나면 삭제되니 남기고 싶으면(기념?) 복사해두라네요. ㅎㅎ 일단 이전 문제와 마찬가지로 기본적인 것들을 확인해봅시다. (/usr/bin으로 들어온 뒤) cat cronjob_bandit24.sh shell-script가 보입니다. 저희가 작성할 스크립트는 /var/spool/bandit24에 저장해야 합니다. (들어가서 확인해보세요.) if문 내의 조건을 조금 풀어보면은 for에서 전달받은 * .* 형식의 파일의 값을 $i로 나타내었고 이 값이 현재 경로(.) -a(&&) 이전 경로(..)가 아닐 때 아래를 실행하게 됩니다. ..............................................
Level 22 → Level 23
이전 문제와 비슷한 유형이군요. 일단 파일을 확인해봅시다. cat cronjob_bandit23 cat /usr/bin/cronjob_bandit23.sh 코드를 잘 봐야 하는 문제입니다. 하나하나 보도록 하죠. 일단 첫번째 줄은 고쳐지면 myname=bandit22 이 되겠군요. 두 번째 줄은 mytarget=$(echo I am user bandit22 | md5sum | cut -d ' ' -f 1) 실행시키면 바로 볼 수 있을 것이라 생각됩니다. 문제는 저희가 알아내야 할 비밀번호가 bandit22가 아닌 bandit23이라는 것입니다. 어떤 식으로 tmp의 경로를 지정하는지는 알아냈으니 숫자만 바꿔서 그대로 이용해봅시다. echo I am user bandit23 | md5sum | cut -d..