HTTP Methods 확인

Posted by DarkSoul.Story
2016.07.11 21:17 Vulnerability Assessment/Web Vulnerability


 

 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가 허용되어 있는것을 확인할 수 있다. 


이 댓글을 비밀 댓글로