(해당 글은 '인터넷 해킹과 보안'(작가 김경곤 출판 한빛아카데미)을 공부하며 내용을 정리한 글입니다.)
2장 웹에 대한 이해 (1)
HTTP (Hyper Text Transfer Protocol)는 WWW상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰이며, 80번 포트를 사용한다.
HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹 페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP 프로토콜은 요청과 응답 이후, 연결이 끊어진다. HTTP를 통해 전달되는 자료는 “http:”로 시작하는 URL로 조회할 수 있다.
HTTP는 Header와 빈 공백, Body로 나눠진다. Header에서는 주소 정보 등이 포함되며 Body에는 요청한 메시지 정보가 포함된다.
- 클라이언트가 서버에 연결 요청. 서버는 클라이언트에 대한 서비스를 준비한다.
- 클라이언트는 읽고자 하는 문서를 서버를 요청.
- 서버는 웹 문서 중 클라이언트가 요청한 문서를 전달해 주고
- 연결을 종료.
[Request 패킷]
GET, POST, HEAD 등과 같은 메소드가 있음.
패킷의 몇 가지 구성 요소
HTTP 전송 방법: 주로 GET을 많이 사용
요청된 URL
HTTP 버전
웹 해킹과 관련하여 눈여겨봐야 할 것들: Cookie, SessionID, Host, User-Agent
GET 메소드와 POST 메소드의 차이:
GET |
POST |
URL에 요청 데이터를 전달함 |
요청 데이터를 URL로 보내지 않고, HTTP 바디 영역에 데이터를 전송한다. |
|
인자 값이 URL을 노출 되지 않기 때문에 보안 측면에서 GET 방식보다 안전하다. |
GET은 주로 게시판 글 읽기 등에 쓰이고, POST는 글 작성, 삭제 등에 사용된다.
그 외 메소드들:
HEAD
OPTIONS
PUT
DELETE
TRACE
[Response 패킷]
구성요소: 프로토콜 버전, HTTP 상태 코드, 전달해 줄 데이터의 형식, 등
HTTP 상태 코드
중요한 상태 코드
'[보안 Archive] ~2017 > <인터넷 해킹과 보안> 정리' 카테고리의 다른 글
일반적인 웹 해킹 절차 (0) | 2020.04.30 |
---|---|
웹에 대한 이해(2) - HTTP 1.0 과 1.1 작동 원리 (0) | 2020.04.30 |
소스코드 취약점 분석, 소스코드 취약점 유형 (0) | 2020.03.28 |
웹 보안의 기본 요소 - 인증, 접근 통제, 입력값 검증 (0) | 2020.03.28 |
웹 해커의 도구들 - 브라우저, Burp Suite, 취약점 스캐너 (0) | 2020.03.28 |
댓글