반응형

전체 글 190

SQL injection이란?

일상 생활에서 다양한 정보를 기록하기 위해 노트나 다이어리를 사용하듯이, 컴퓨터도 정보를 기록하기 위해 데이터베이스를 사용한다. 이러한 데이터베이스를 관리하는 시스템이 DBMS(데이터베이스 관리 시스템)이다. DBMS 종류 종류 대표적인 DBMS Relational(관계형) MySQL, MariaDB, PostgreSQL, SQLite Non-Relational(비관계형) MongoDB, CouchDB, Redis DBMS에서 관리하는 데이터베이스에는 회원 계정, 비밀글과 같이 민감한 정보가 포함되어 있을 수 있다. 공격자는 SQL injection 공격을 통해 해당 정보를 확보하고 악용하여 금전적인 이익을 얻을 수 있다. SQL injection이란 DBMS에서 사용하는 질의 구문인 SQL을 삽입하는 ..

OverTheWire Natas [Level9] - WriteUp

문제 정보 Username: natas9 Password: Sda6t0vkOPkM8YeOZkAGVhFoaplvlJFd URL: http://natas9.natas.labs.overthewire.org 그림 1은 natas9 사이트에 접속한 화면이다. 해당 사이트에 접속을 하면 단어들을 찾을 수 있다. apple을 입력하니 apple을 포함한 단어들을 웹에 표시해준다. 소스코드보기를 통해 해당 페이지는 어떻게 구성되어있는지 확인한다. 입력한 값을 key에 저장을 한 후 passthru함수로 grep 명령어를 수행한다. grep -i key값 dictionary.txt는 대소문자를 구분하지 않고 dictionary.txt에서 단어를 찾는다. 여기서 해당 취약점이 존재한다. 리눅스에서 ; 를 사용하면 해당 명..

OverTheWire WriteUp 2023.06.19

OverTheWire Natas [Level8] - WriteUp

문제 정보 Username: natas8 Password: a6bZCNYwdKqN5cGP11ZdtPg0iImQQhAB URL: http://natas8.natas.labs.overthewire.org 그림 1은 natas8 사이트에 접속한 화면이다. 특정 secret값을 넣어서 옳을 경우 natas9의 비밀번호를 줄 것이라고 예상된다. 소스코드를 확인하였고 해당 페이지는 php로 작성되었다. 코드 리뷰를 해보자면 우리가 입력한 특정 값을 encodeSecret 함수를 통해 인코딩 시켜서 encodedSecret값과 같으면 natas9의 비밀번호를 얻을 수 있다. 먼저 encodeSecret 함수에 쓰인 함수들을 알아야한다. bin2hex() 함수 : ASCII문자의 문자열을 16진수 문자형태로 변환해 준..

OverTheWire WriteUp 2023.06.17

OverTheWire Natas [Level7] - WriteUp

문제 정보 Username: natas7 Password: jmxSiH3SP6Sonf8dv66ng8v1cIEdjXWr URL: http://natas7.natas.labs.overthewire.org 그림 1은 natas7 사이트에 접속한 화면이다. Home, About 링크가 존재한다. 해당 사이트가 어떻게 구성되어 있는지 확인하기 위해 페이지 소스 보기를 통해 확인하였다. a태그로 page=로 링크 시켜준다. 아래에 힌트로 natas8의 비밀번호의 위치를 알려주고 있다. natas8계정 비밀번호의 위치는 /etc/natas_webpass/natas8에 있다. 먼저 Home과 About을 눌러본다. home을 누르면 페이지가 page 매개변수에 home이라는 값을 담아서 요청하고 있다. 그리고 Abou..

OverTheWire WriteUp 2023.06.15

OverTheWire Natas [Level6] - WriteUp

문제 정보 Username: natas6 Password: fOIvE0MDtPTgRhqmmvvAOt2EfXR6uQgR URL: http://natas6.natas.labs.overthewire.org 그림 1은 natas6 사이트에 접속한 화면이다. 어떤 비밀 값을 입력하여 제출하면 문제를 해결할 수 있을 것이라고 예상된다. View sourcecode로 소스 코드를 보여주고 있기 때문에 소스코드를 확인을 진행하였다. 해당 페이지는 php로 이뤄진것 같고 includes 디렉토리 아래 secret.inc라는 파일을 불러왔다. if문에 array_key_exists 함수는 배열내에 key또는 index가 있는지 확인하는 php 함수이다. POST로 보내는 값중에 submit이라는 key가 있는 경우 if문..

OverTheWire WriteUp 2023.06.13

OverTheWire Natas [Level5] - WriteUp

문제 정보 Username: natas5 Password: Z0NsrtIkJoKALBCLi5eqFfcRN82Au2oD URL: http://natas5.natas.labs.overthewire.org 그림1은 natas5에 접속한 화면이다. 권한이 부여되지 않았고 로그인이 되지 않았다고 알려주고 있다. 우리는 이 문제를 해결하기 위해서는 로그인을 하여 권한을 부여받으면 되는 문제인 것 같다. 해당 사이트에 재접속을 할 때 어떤 헤더들을 보내고 있는지 확인을 하였다. 헤더 아래부분에 Cookie라는 값을 담이서 요청을 하고 있다. HTTP 통신은 신뢰적인 TCP 통신을 하여 request를 요청하면 3번의 handshake를 하여 연결을 맺고 response를 한 후 4 handshake를 하여 연결을 끝..

OverTheWire WriteUp 2023.06.11

OverTheWire Natas [Level4] - WriteUp

문제 정보 Username: natas4 Password: tKOcJIbzM4lTs8hbCmzn5Zr4434fGZQm URL: http://natas4.natas.labs.overthewire.org 그림 1번은 natas4 사이트에 접속한 결과이다. 해당 페이지를 분석해보니 지금은 접근이 제한되어있다고한다. 왜냐하면 권한을 받으려면 http://natas5.natas.labs.overthewire.org/ 해당 웹 사이트에서 방문을 해야지 접근을 할 수 있는데 우리는 natas5사이트에서 natas4로 오지 않았기 때문이다. Refresh page를 한번 눌러보도록 하겠다. Refresh page는 a태그로 natas4의 index.php로 렌더링하고있다. 그렇기 때문에 Refresh page를 클릭하..

OverTheWire WriteUp 2023.06.09

OverTheWire Natas [Level3] - WriteUp

문제 정보 Username: natas3 Password: G6ctbMJ5Nb4cbFwhpMPSvxGHhQ7I6W8Q URL: http://natas3.natas.labs.overthewire.org 그림 1번은 natas3 사이트에 접속한 결과이다. 해당 페이지에서는 어떠한 단서도 찾을 수 없다. 따라서 페이지 소스 보기를 통해서 웹 페이지가 어떻게 구성되어 있는지 확인한다. 그림 2는 페이지 소스 보기를 한 결과이다. Ctrl + u를 사용하거나, 우클릭을 한 후 페이지 소스 보기를 클릭해서도 페이지 소스 보기를 할 수 있다. 자바스크립트 코드를 확인해봤지만 중요한 내용은 없었다. 주석을 확인해보면 더 이상 정보 유출은 없고 심지어 구글도 이번에는 찾지 못할거라고 말하고 있다. 정보 수집을 할 때 페..

OverTheWire WriteUp 2023.06.07

OverTheWire Natas [Level2] - WriteUp

문제 정보 Username: natas2 Password : h4ubbcXrWqsTo7GGnnUMLppXbOogfBZ7 URL: http://natas2.natas.labs.overthewire.org 해당 사이트에 들어가서 Username과 Password를 입력한다. 그림1은 natas2 사이트에 접속한 화면이다. 해당 페이지에는 아무것도 없다고 한다. 일단 페이지 소스보기를 통해서 소스코드를 확인한다. 페이지 소스보기를 한 후 자바스크립트 코드를 확인하였다. 딱히 중요한 내용은 없어 보였고 아래 img태그에서 이미지를 확인할 수 있다. 경로가 files/pixel.png이다. 이를 통해서 files라는 디렉터리 아래에 해당 이미지가 있는것을 알 수 있다. 따라서 files라는 디렉터리에 먼저 접근을..

OverTheWire WriteUp 2023.06.05

OverTheWire Natas [Level1] - WriteUp

문제 정보 Username: natas1 Password: g9D9cREhslqBKtcA2uocGHPfMZVzeFK6 URL: http://natas1.natas.labs.overthewire.org 해당 사이트에 들어가서 Username과 Password를 입력한다. 그림1은 natas1 사이트에 접속한 화면이다. 해당 페이지에서는 마우스 오른쪽 클릭이 block되었다. 따라서 마우스 오른쪽으로 페이지 소스보는것이 아니라 Ctrl+u를 눌러서 페이지 소스보기에 접속을 한다. 단축키를 통해 페이지 소스보기에 접속을 하였다. 해당 문제 또한 주석으로 natas2의 비밀번호를 알려주고 있다. The password for natas2 is h4ubbcXrWqsTo7GGnnUMLppXbOogfBZ7\ nata..

OverTheWire WriteUp 2023.06.03
반응형