Bazinga!
HTTP/HTTPS 본문
참고 : 드림핵
HTTP(HyperText Transfer Protocol)
웹상에서 서로 통신하기 위해 정해둔 규칙.
페이지가 보야주고 있는 정보들은 모두 웹 리소스에 명시되어있다.
웹 리소스 : 웹에 갖춰진 정보자산((HTML, JavaScript, CSS)
- HTTP 메시지: HTTP 서버와 클라이언트가 교환하는 데이터. 헤드와 바디로 구성되며, 각 줄은 CRLF로 구분됨.
- 헤드: 메시지에 대한 정보. 헤드의 끝에는 CRLF가 한 줄 있음.
- 바디: 클라이언트가 서버에게, 또는 서버가 클라이언트에게 전달할 데이터
- HTTP 요청(Request): 클라이언트가 서버에게 특정 동작을 요청하는 메시지
- 메소드(Method): 요청 URI가 가리키는 리소스에 대해, 서버가 수행했으면 하는 동작을 지정
- 요청 URI(Request-URI): 메소드의 대상이 되는 리소스를 지정
- HTTP 응답(Response): 요청을 처리한 결과 및 이유, 그리고 클라이언트에 전송할 웹 리소스를 포함하는 메시지
- 상태 코드(Status code): 요청을 처리한 결과
- 처리 사유(Reason phrase): 상태 코드가 발생한 이유
HTTP 들어가는 내용
● 요청
Startline : 메서드 / 요청대상 / HTTP 버전
Header : 부가적인 요청 정보
Body : 실제 서버에 전달할 데이터
● 응답
Startline : HTTP버전 / 상태코드 / 처리사유
Header : 부가적인 응답 정보
Body : 실제 클라이언트에게 응답하고자 하는 데이터
해커는 상황에 따라 Headers와 Body의 부분을 변조하거나 StartLine나 StateLine을 공격하게 된다.
HTTP 요청과 응답은 평문으로 전달된다.
-> 보안적으로 매우 취약하다. 누군가가 이를 가로챈다면 중요한 정보가 유출되는 것이다.
직접 만든 웹사이트 로그인 하는 과정의 메세지를 와이어샤크를 통해 살펴보았더니 아이디와 비밀번호가 그대로 보이는 것을 알 수 있다.
이런 점을 보완한것이 HTTPS라고 볼 수 있다.
HTTPS (HTTP on Secure socket layer) : TLS프로토콜을 도입하여 HTTP의 약점을 보완한 프로토콜.
TLS(Transfer Layer Security) : 서버와 클라이언트 사이 오가는 모든 HTTP 메세지에 암호화 처리를 한다.
'공부' 카테고리의 다른 글
Proxy(프록시) - 우회 역할에 대하여 (0) | 2024.10.12 |
---|---|
Wireshark의 작동 구조와 원리 (0) | 2024.10.10 |
익스플로잇(Exploit) 이란 (0) | 2024.10.10 |