Did you know that you can navigate the posts by swiping left and right?

웹해킹 시작

09 Feb 2018 . category: web . Comments
#kali #virtual machine #웹 해킹 입문

내가 웹 해킹이란것에 관심을 가지고 있던 것은 최근이 아니다. 군 생활에 우연히 사무적인 일을 맡아 문서작업을 많이 해볼 수 있었고 그 과정에서 보안이란 개념에 대해 많이 생각 해볼 수 있었고 또 군시절 사이버 보안에대한 신문내용과 칼럼들을 많이 볼 수 있었고 그로인해 마음속에 어쩌면 내가 해킹당한다면 어떡하지 라는 상상을 많이 해본 것 같다. 하지만 군인이 할 수 있는것은 별로 없었고 전역 후에 이에대해 잊고 살다가 최근 보게된 여러 드라마에서 컴퓨터들을 다루는 인물들이 손쉽게 다른 컴퓨터를 해킹하고 이용하는 모습에 다시 내 보안에대한 경각심을 일깨워주었고 웹해킹입문이란 책을 통해 해킹에대해 조금 알아보려 한다.

웹 해킹에 대해 배우기 위해서는 우선 웹에대한 개념에 대해 알아야하는데 웹이란 일종의 정보공간이라 할 수 있는데 네트워크 기술의 한 분야로 지구상에서 가장 거대한 네트워크로 보면 된다. 인터넷과 조금 헷갈릴 수 있는데 인터넷은 TCP/IP라는 프로토콜을 사용하는 네트워크의 집합체이고 웹은 그안에서 이루어지는 서비스다.

초창기 웹은 대부분 텍스트와 이미지로만 구성되 있었고 웹은 HTML을 사용하는 HTTP 서비스이다. 응용 계층이라 할 수 있는 HTTP에는 몇가지 특성이 있는데

1.요청과 응답을 통한 통신 구조
2.항상 클라이언트의 요청에 의해 통신 시작
3.상태가 없는 프로토콜

HTTP는 클라이언트 요청과 서버 응답이라는 통신 모델을 사용하는데 요청은 클라이언트가 시작한다. 예로 우리가 쓰고 있는 컴퓨터를 클라이언트로 보고 우리가 정보를 얻길 원하는 웹서버를 서버로 보면 요청과 응답의 개념을 좀더 쉽게 이해할 수 있을 것 같다. HTTP 요청 메세지가 있는데

메서드       설명
GET         서버에 자원을 요청한다. 요청 내용이 보이고 데이터는 4,096바이트로 제한된다.
HEAD        본문(body)외의 헤더 정보만 얻는다.
POST        서버에 데이터를 전송한다. GET 달리 내용이 보이지 않는다.
PUT         서버에 자원을 생성한다.
TRACE       요청사항을 다시 얻는다.클라이언트가 'HOST:www.test.com'을 요청하면 그대로 반환된 'HOST:www.test.com'문자열을 얻는다.
            일종의 LoopBACK 테스트이다.
OPTIONS     응답 가능한 메서드들을 요청한다.
DELETE      서버의 자원을 삭제한다.

이 중에서 GET과 POST를 가장 많이 사용한다. HTTP메서드의 보안상 치명적인 TRACE,OPTIONS, PUT, DELETE는 사용을 제한하거나 서버 기능에서 끄기도 한다. PUT이나 DELETE를 통해 악성 코드 등을 쉽게 업로드하거나 주요 자원들을 삭제할 수 있고, TRACE와 OPTIONS는 서버의 보안 취약점을 알 수 있는 정보를 제공한다.

웹해킹이란 웹 구조, 웹 프로그램, 웹 해킹도구 3요소를 갖춘 구조이다. 앞으로 더욱 자세히 배워서 보안에 대해 더욱 알아가고 싶다.


Me

github를 이용해 만들어본 블로그입니다.