웹 보안

Background: HTTP

tree frog 2024. 3. 15. 10:30
인코딩 표준
  • 아스키(Ascii)

7비트 데이터에 대한 인코딩 표준, 인코딩 호환 문제 발생

  • 유니코드(Unicode)

한 문자가 최대 32개의 비트로 표현됨 , 2의 32제곱(=42억) 

 

통신 프로토콜

 

  • 프로토콜 : 규격화된 상호작용에 적용되는 약속
  • 문법(syntax) - 문법에 어긋나는 메세지는 오류처리
  1. TCP/IP
  2. HTTP
  3. FTP
HTTP (Hyper Text Transfer Protocol) : 서버와 클라이언트의 데이터 교환을 요청응답 형식으로 정의한 프로토콜
  1. 클라이언트가 서버에 요청하면 서버가 응답
  2. 웹 서버는 HTTP서버를 HTTP 서비스 포트에 대기 시킴(TCP/80 or TCP/8080)
네트워크 포트 

네트워크에서 서버와 클라이언트가 정보를 교환하는 추상화된 장소 

서비스 포트

네트워크 포트 중에서 특정 서비스가 점유하고 있는 포트

ex) HTTP가 80번 점유하면 서비스포트가 80번 포트

전송계층(Transport Layer)

TCP, UDP 프로토콜을 따름. 

Well-known port , Privileged Port : 0~1023

ex) 22번 SSH, 80번 HTTP


HTTP 헤드
  • CRLF로 구분됨, 헤드의 끝은 CRLF 한줄로 나타냄
  • 첫 줄 : 시작 줄, 나머지 줄 : 헤더(Header)
  • 헤더는 필드와 값으로 구성 
HTTP 바디
  • 헤드의 끝을 나타내는 CRLF 뒤 모든 줄

*CRLF : Carriage Return (커서를 현재 줄의 맨 앞으로 이동) + Line Feed (커서를 다음줄로 이동)

 

Request

GET /index.html HTTP/1.1
Host: dreamhack.io
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
  • GET : HTTP Method
  • /index.html : Request URI
  • HTTP/1.1 : HTTP Version
  • Request Header

 

*메소드 : URI이 가리키는 리소스를 대상으로 서버가 수행하길 바라는 동작을 나타냄

(8개) ex) GET -리소스를 가져와라, POST - 리소스로 데이터를 보내라

 

*요청 URI : 메소드의 대상

 

*HTTP 버전 : 클라이언트가 사용하는 HTTP 프로토콜의 버전

 

Response

HTTP/1.1 200 OK
Server: Apache/2.4.29 (Ubuntu)
Content-Length: 61
Connection: Keep-Alive
Content-Type: text/html
<!doctype html> <html> <head> </head> <body> </body> </html>
  • 200 OK :Return Code
  • _ : response header
  • Response Body

*상태 코드: 요청에 대한 처리 결과를 세자리 수로 나타냄

ex) 1xx: 요청을 제대로 받았고, 처리가 진행중임

      2xx: 요청이 제대로 처리됨

      3xx: 요청을 처리하려면, 클라이언트가 추가 동작을 해야함 

      4xx: 클라이언트가 잘못된 요청을 보내어 처리에 실패 

      5xx: 클라이언트의 요청은 유효 but 서버에 에러 발생으로 실

(200 OK:성공) (302 Found : 다른 URL로 갈것)

( 400 Bad Request : 요청이 문법에 맞지 않음)

(401 Unauthorized : 클라이언트가 요청한 리소스에 대한 인증 실패)

(403 Forbidden : 클라이언트가 리소스에 요청할 권한이 없음)

( 404 Not Found : 리소스가 없음)

'웹 보안' 카테고리의 다른 글

Dreamhack 워게임(XXS -1)  (0) 2024.03.25
SOP 개념 & 실습  (0) 2024.03.19
Dreamhack 워게임(session-basic)  (0) 2024.03.14
Dreamhack 워게임 (cookie)  (1) 2024.03.14
Dreamhack 워게임 (devtools-sources)  (1) 2024.03.14