URL : http://natas12.natas.labs.overthewire.org/ id : natas12 password : YWqo0pjpcXzSIl5NMAVxg12QxeC1w9QG (2023. 03 기준) 파일을 업로드할 수 있는 페이지가 나타납니다. 최대 1KB 이내의 파일을 올릴 수 있는 것 같네요 문제에는 JPEG 파일만 가능한 것 처럼 되어있지만 소스코드를 확인하면 JPEG 검증에 관한 부분은 존재하지 않습니다. 시범삼아 간단한 텍스트 "hello world" 가 기재된 1.txt 파일을 업로드해봅니다. 파일명이 랜덤문자.jpg 로 바뀌어서 업로드가 되었습니다. 해당 경로로 접속을 하니 업로드된 파일에 접근이 가능하는데 내용이 엉망인 jpeg 이기 때문에 특별히 더 살펴볼만한게 없네요 이..
URL : http://natas10.natas.labs.overthewire.org/ id : natas10 password : D44EcsFkLxPIkAAKLosx8z3hxX1Z4MCE (2023. 03 기준) 아까와 같은 패턴의 페이지인데 몇몇 특수문자들에 필터링을 적용했다고 합니다. 실제로 같은 방식으로 접근하니 input 값에 불법적인 문자가 포함되어 있다고 거부당하네요. 소스코드를 살펴보니 ; 을 포함한 몇몇 특수문자를 필터링 처리하고 있습니다. 기존의 방식으로는 ; 을 활용하여 하나의 명령을 완성하고 그 다음 명령을 진행해서 패스워드를 구했는데 이제는 같은 방식으로는 작동하지 않게 되었습니다. 특수문자 필터링을 우회하고 grep 명령어를 활용해 패스워드를 획득하려면 어떻게 해야할까요? 더보기..
URL : http://natas9.natas.labs.overthewire.org/ id : natas9 password : Sda6t0vkOPkM8YeOZkAGVhFoaplvlJFd (2023. 03 기준) 문자열을 입력하면 특정 결과를 리턴해주는 페이지입니다. 소스 코드를 살펴보니 grep 이라는 명령어가 눈에 띄네요 grep 은 리눅스, 유닉스에서 아주 흔하게 사용되는 명령어입니다. 해당 명령어가 생소하다면 아래 링크를 참고하세요. https://originalchoi.tistory.com/entry/grep-%EB%AA%85%EB%A0%B9%EC%96%B41 grep 명령어(1) grep은 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어입니다. 리눅스에서 가장 많이, 또 가장 유용하게..
URL : http://natas8.natas.labs.overthewire.org/ id : natas8 password :a6bZCNYwdKqN5cGP11ZdtPg0iImQQhAB (2023. 03 기준) natas6 에서 풀었던 유형인것 같네요? 소스코드를 보니 복잡해 보이는 무언가가 있습니다. php 코드를 알아야 풀 수 있는 문제입니다. 풀이를 살펴봅시다. 더보기 php 구문을 살펴보니 $encodedSecret 변수에 "3d3d516343746d4d6d6c315669563362" 값을 대입하네요. natas8 페이지에서 입력받은 $secret 값을 php 함수로 bin2hex(strrev(base64_encode($secret)) 처리한 최종 결과값이 아까 입력받은 $encodedSecret ..
URL : http://natas7.natas.labs.overthewire.org/ id : natas7 password : jmxSiH3SP6Sonf8dv66ng8v1cIEdjXWr (2023.03 기준) 새로운 유형의 문제입니다. home, about 페이지의 링크를 눌러보면 작동은 하는데 이다음에는 어떻게 해야할지 모르겠습니다. 페이지 소스를 살펴보니 hint 가 있네요. 문제를 풀어봅시다. 더보기 는 링크를 생성해서 새로운 페이지와 연결해주는 html 태그입니다. 즉 home 링크를 누르면 index.php?page=home 의 주소로 이동하게 되는거죠 웹 사이트는 그냥 웹서버내 폴더라고 생각해도 됩니다. 위 주소는 동일 폴더를 기주능로 작동해서 정확하게는 http://natas7.natas.l..
url : http://natas6.natas.labs.overthewire.org/ id : natas6 password : fOIvE0MDtPTgRhqmmvvAOt2EfXR6uQgR (2023.03 기준) 시크릿 코드를 입력하라는 문제입니다. 아무 문자나 입력하면 wrong secret 이라는 메세지가 리턴되네요 시크릿 코드를 알아내야 합니다. view sourcecode 버튼을 누르면 페이지를 구성하는 소스코드가 나타납니다. 마우스 우클릭으로 보는 소스코드와는 차이가 있습니다. 그냥 소스코드로 보면 중간에 끝나는 php 언어가 나타나지 않습니다. 왜 그럴까요? 우리가 웹페이지에 접속해서 보이는 화면은 내 PC(client) 가 웹서버에게 '너의 홈페이지에 방문하고 싶어' 라고 요청(request)를..
url : http://natas5.natas.labs.overthewire.org/ id : natas5 password : Z0NsrtIkJoKALBCLi5eqFfcRN82Au2oD (2023.03 기준) natas4 와 같은 방식으로 해결할 수 있는 문제입니다. 이번엔 로그인이 안되었다는 메세지가 보이네요 burp suite 같은 proxy tool 을 이용하면 간단하게 해결할 수 있습니다. 직접 문제를 해결해보고 잘 모르겠으면 풀이를 참고하세요 더보기 proxy 에서 intercept on 은 항상 하지 않아도 됩니다. 모든 데이터를 확인하기엔 너무 번거로우므로 평소엔 off 로 꺼두고 필요할때만 on 으로 변경해서 사용하세요 natas4 에는 보이지 않던 cookie 라는 필드에 loggedin..
natas 는 웹 취약점 기반의 워게임으로 bandit 와 달리 레벨 목표는 따로 명시되어 있지 않습니다. 우리가 일상생활에서 흔히 사용하는 웹페이지에서 존재할 수 있는 다양한 취약점이 구현되어 있는데요 아주 간단한 취약점 부터 복잡한 응용까지 단계별로 파헤쳐봅시다. 우선 natas 접속 방법을 알아봅시다. 웹브라우저를 하나 새로 열고 level 0 페이지에서 제시해준 url 로 접속을 합니다. 로그인 페이지가 나타나면 사용자이름과 비밀번호에 모두 natas0 를 입력해줍니다. 이제 natas0 페이지에 정상 접속이 되었습니다. natas0 는 일종의 tutorial 페이지로 이 단계를 해결하면 패스워드를 획득하고 이를 기반으로 다음 단계 natas1 으로 이동할 수 있습니다. 문제에서는 다음 단계로 넘..
https://overthewire.org/wargames/에서는 학습에 적합한 다양한 wargame 을 제공합니다. 우리는 그중에서 natas 프로젝트에 대해서 공부해보겠습니다. natas 는 웹 보안 기초를 배울 수 있는 초급 wargame 입니다. 이론과 설명으로만 접근하면 어려운 개념이지만 퀴즈를 풀면서 직접 실습해보면 보안이라는 분야가 훨씬 더 재밌게 다가올 것이라고 확신합니다. https://overthewire.org/wargames/bandit/ 로 접속해봅시다. 애초에 외국에서 만들어진 사이트이기 대문에 대문짝에 아래와 같이 영어로 설명이 되어 있습니다. 영어라고 너무 겁먹지 말고 해석하려고 노력을 해봅시다. Natas Natas teaches the basics of serverside..
- Total
- Today
- Yesterday
- tr
- bz2
- X32
- BASE64
- HTTPS
- find
- nc
- Linux
- 웹보안공부
- Natas
- over the wire
- Strings
- solution
- ssh
- 압축파일
- OverTheWire
- gz
- grep
- 32bit
- OpenSSL
- java
- SSL
- Bandit
- tar
- 웹보안
- natas7
- Encode
- 리터럴
- 풀이
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |