본문 바로가기

Web Programming/Web

[1st Week] HTTP 요청/응답 구조

앞서 설치했던 Burp Suite에서 확인해 볼 수 있다.

HTTP의 요청/응답 구조는 위 그림과 같다

우선 클라이언트에서 요청을 보내고 서버에서 응답을 받는 구조이다.

 

<요청>부분을 우선 보자면 처음에 시작줄이 나오는데

시작줄방식(Method), URL, Protocol 로 구성된다.

 

방식 : POST

URL : /

Protocol : HTTP/1.1 

 

이렇게 구성되어있다.

다음엔 Header가 나온다.

Header에는 Referer 와 Cookie라는 것이있다.

Referer는 요청 발생 위치를 가지고있다.

Cookie에는 서버에서 정해준 Cookie값을 Client가 Server로 가지고 올라가서 서버에서 정해준 Cookie값이 맞는지를 확인한다.

Cookie 값에 Content-Type과 Content-Length가 들어간다.

 

그 후에 Empty Line(개행)이 들어가는데 이것은 Header의 끝남 여부를 판단하는 중요한 개행이다.

그 밑에 본문이 나온다.

 

<응답>부분을 보면 똑같이 첫 줄엔 시작줄이 나온다.

시작줄엔 프로토콜 , 상태코드 , 상태설명 이 온다.

 

프로토콜 : HTTP/1.1

상태코드 : 403

상태설명 : Forbidden

 

다음엔 똑같이 Header와 Body가 나온다.

<응답>의 구조를 이용한 공격방법에는 HTTP응답분할 공격방식이 있다.

 

*Slowloris Atack*

(슬로우리스 공격)

 - 요청 헤더의 끝이 한 줄 띄우는 것을 이용한 공격.

 - 정상 헤더는 CRLF로 끝나지만 Slowloris Attack은 "0d"의 비정상 헤더값을 전송.

 - 그래서 끝나지 않은 것으로 간주하고 계속 Connection을 유지하게됨.

 

 

*RUDY Attack*(R-U-Dead-Yet)

(HTTP POST Attack)

 - Content-length를 매우 큰 값으로 설정.

 - 서버의 지연을 유발하는 공격기법.

 - Content는 일정한 간격으로 한 문자씩 전송.

 

* HTTP 응답 분할*

 - HTTP 프로토콜의 응답 헤더의 특징을 이용한 공격.

'Web Programming > Web' 카테고리의 다른 글

[1st Week] Virtual Box Network 종류  (0) 2019.04.28
[1st Week] 이것저것  (0) 2019.04.27
[1st Week] Story of Internet  (0) 2019.04.27
[1st Week]환경설정  (0) 2019.04.27