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 패킷 하나에도 이렇게 배울 게 많다니.
반응형
'Security > WEB' 카테고리의 다른 글
CentOS에 APM 구축하기 | 아파치 서버 구축 | PHP 설치 | MariaDB 설치 | phpmyadmin 설치 및 실행 (0) | 2020.09.08 |
---|---|
10년전 네이버 페이지를 볼 수 있다고? | Wayback Machine (0) | 2020.08.12 |