Steps. 1. 개요 2. 테스트 방법 |
1. 개요
HTTP는 웹 서버의 동작하는 데 사용할 수있는 몇개의 메소드를 제공하며, 대부분은 배포 및 HTTP 응용 프로그램을 테스트하는 개발자를 지원하기 위해 설계 되었다.
HTTP Method는 아래와 같다.
① GET Method : GET 요청 방식은 URI(URL)가 가진 정보를 검색하기 위해 서버 측에 요청하는형태이다.
② POST Method : POST 요청 방식은 요청 URI(URL)에 폼 입력을 처리하기 위해 구성한 서버 측 스크립트(ASP, PHP, JSP 등) 혹은 CGI 프로그램으로 구성되고 Form Action과 함께 전송되는데, 이때 헤더 정보에 포함되지 않고 데이터 부분에 요청 정보가 들어가게 된다.
③ HEAD Method : HEAD 요청 방식은 GET과 유사한 방식이나 웹 서버에서 헤더 정보 이외에는 어떤 데이터도 보내지 않는다. 웹 서버의 다운 여부 점검(Health Check)이나 웹 서버 정보(버전 등)등을 얻기 위해 사용될 수 있다.
④ OPTIONS Method : 해당 메소드를 통해 시스템에서 지원되는 메소드 종류를 확인할 수 있다.
⑤ PUT Method : POST와 유사한 전송 구조를 가지기 때문에 헤더 이외에 메시지(데이터)가 함께 전송된다. 원격지 서버에 지정한 콘텐츠를 저장하기 위해 사용되며 홈페이지 변조에 많이 악용되고 있다.
⑥ DELETE Method : 원격지 웹 서버에 파일을 삭제하기 위해 사용되며 PUT과는 반대 개념의 메소드이다.
⑦ TRACE Method : 원격지 서버에 Loopback(루프백) 메시지를 호출하기 위해 사용된다.
⑧ CONNECT Method : 웹 서버에 프락시 기능을 요청할 때 사용된다.
일반적으로 웹 서버에서 제공되는 정보에 액세스하는 데 사용되는 GET과 POST만 허용하고 있지만, put, delete, connect, trace 메소드가 허용되어 있는 경우도 있다.
이러한 메소드는 악의적 목적으로 사용될 수있다.
2. 테스트 방법
NMAP NSE를 이용해서 웹 서버에서 지원하는 메소드의 종류를 확인해 보자. 여기서 사용되는 스크립트는 http-methods이다.
위와 같이 테스트에 사용된 웹 서버는 GET, HEAD, POST, OPTIONS, TRACE Method가 허용되어 있는것을 확인할 수 있다.
'Vulnerability Assessment > Web Application' 카테고리의 다른 글
Blind SQL Injection Cheatsheet (블라인드 SQL 인젝션 Cheatsheet) (0) | 2022.02.11 |
---|---|
관리자 인터페이스 (페이지) 확인 (0) | 2016.07.03 |
웹 서버 정보 확인 (Web server fingerprinting) (0) | 2016.07.02 |
웹페이지 소스코드에 중요 정보 노출 확인 (0) | 2016.07.02 |
검색 엔진을 이용하여 노출된 정보 확인 (0) | 2016.07.02 |