본문 바로가기

Security/WEB

HTTP 요청, 응답 메시지 확인 | 메소드

WEB 보안 시험을 봤는데 HTTP 메소드 내용이 나왔다. HTTP 메시지 내용을 잘 몰랐던 게 좀 부끄럽기도 하고 그래서 한 번 정리 ㄱㄱ

웹 해킹 공부할 때 바로바로 정리해뒀으면 더 좋았을 텐데 아쉽다. (지금부터라도 다시 열심히 하자!)


HTTP 메소드

HTTP 메소드 설명
GET 리정된 리소스 요청
POST 클라이언트 데이터를 서버에 저장
PUT 지정된 리소스에 데이터 저장
DELETE 지정된 리소스 삭제
HEAD 지정된 리소스의 응답 헤더만 요청
OPTIONS 지원되는 메소드 표시

GET HTTP 패킷

리소스 요청 패킷으로, GOOGLE에 메인 페이지 요청

GET / HTTP/1.1
Host: google.com
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: SID=IjrJaMWw.; HSID=A6iWHC; APISID=myWvb2x8; SEARCH_SAMESITE=CvpAB; SIDCC=AFqq
Connection: close

POST HTTP 패킷

POST 패킷을 얻기 위해서 서버에 데이터를 넣어야 하는데, 아무 페이지나 들어가서 POST 요청을 해봤다

www.cyber.hawaii.org 의 /wp-admin/admin-ajax.php 에 다음과 같은 데이터 전송&입력! action과 data를 주는데, action은 ctct_process_form 이고, 데이터는 내 이름과 이메일 주소이다. (이메일 구독 서비스 신청한 패킷이다 ㅋㅋㅋㅋ)

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.cyberhawaii.org
Connection: close
Content-Length: 349
Accept: */*
DNT: 1
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: https://www.cyberhawaii.org
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.cyberhawaii.org/
Accept-Encoding: gzip, deflate
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: _ga=GA1.2.17352; _gid=GA1.2.2202; _gat_gtag_UA_10_1=1

action=ctct_process_form&data=first_name___last_name___email___hjung9248%2540gmail.com

HTTP 응답 패킷

이거 burp suite 켜놓으니까 계속 잡히던데 뭘까.. content-Type은 image인데 body에 이미지 데이터가 없음. GIF90a 는 gif 파일 형식..

HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: image/gif
Content-Length: 43
Date: Mon, 24 Aug 2020 10:28:20 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate
Last-Modified: Tue, 03 Mar 2020 20:15:00 GMT
X-Content-Type-Options: nosniff
Server: sffe
X-XSS-Protection: 0
Alt-Svc: h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
Connection: close

GIF89a

HTTP 응답 코드

웹 서버의 응답코드를 보며 서버 디렉터리나 상태를 유추하는 재미가 있다

자주 쓰이는 응답 코드 및 텍스트 내용
101 Switching Protocols 프로토콜이 변경됨. 주로 웹 소켓 사용시 발생함
200 OK 요청이 정상적으로 처리됨
201 Created 리소스 생성이 완료됨
301 Moved Permanently Location 헤더에 정의된 URL로 리소스가 이동되어 리다이렉트 됨
304 Not Modified 캐시된 사본(가지고 있던 것)과 동일함. 리소스 변경 없음
401 Unauthorized 인증에 실패함. 주로 아이디나 비번이 잘못된 경우
403 Fobidden 리소스에 대한 권한이 없음
404 Not Found 해당 리소스가 존재하지 않음
500 Internal Server Error 요청 처리 중 예상치 못한 서버 쪽 에러가 발생함

결론: 정리를 했는데도 잘 모르겠다. http 패킷 하나에도 이렇게 배울 게 많다니. 

 

 

썸네일용 사진..

반응형