본 블로그에서는 telnet을 통해 method 를 사용한 취약점 점검 방법에 대해 알아 볼 계획이다.
1. GET
- 요청한 데이터에 대한 파라미터를 URL에 포함하여 웹서버에 요청
- 보낼 수 있는 최대 바이트 수가 제한
>telnet aaa.com 80
GET /HTTP/1.1
Host: aaa.com
2. POST
- 요청한 데이터에 대한 파라미터를 body에 포함하여 웹 서버에 요청
- 보낼 수 있는 최대 바이트는 무제한
> telnet aaa.com 80
POST /HTTP/1.1
Host 192.168.37.203
************* GET vs POST *****************
- GET 요청 방식은 요청 URL가 가진 정보를 검색하기 위해 서버측에서 요청하는 형태이다. - 반면, POST는 요청 URL에 폼 입력을 처리하기 위해 구성한 서버 측 스크립트(ASP, PHP, JSP 등) 혹은 CGI 프로그램으로 구성되고 Form Action과 함께 전송되는데, 이때 헤더 정보에 포함되지 않고 데이터 부분에 요청 정보가 포함된다.
3. HEAD
- 웹 서버에서 헤더 정보 이외에는 어떤 데이터도 보내지 않는다. 사용 목적은 웹 서버의 다운 유무 점검 및 웹 서버 정보(버전 등)을 얻으려고 사용될 수 있다.
--------------------------------------
> telnet aaa.com 80
HEAD / HTTP/1.1
Host: 192.168.37.203
HTTP/1.1 200 OK
Date: Mon, 24 Aug 2009 05:59:16 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 2642
Content-Type: text/html
Set-Cookie: ASPSESSIONIDSSQAASCQ=CIODBCBBNPIIGGKGJBPCFGNH; path=/
Cache-control: private
---------------------------------------
4. OPTIONS
- 해당 메소드를 통해 시스템에서 지원되는 메소드 종류를 확인 할 수 있다.
-------------------------
> telnet aaa.com 80 // 80번 포트로 telnet 접속
OPTIONS / HTTP/1.1 // [엔터 두번]
Host: aaa.com
HTTP/1.1 200 OK
Date: Mon, 24 Aug 2009 06:00:39 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MS-Author-Via: DAV
Content-Length: 0
Accept-Ranges: none
DASL:
DAV: 1, 2
Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, MKCOL, LOCK, UNLOCK
Cache-Control: private
---------------------------
5. PUT
- POST 와 마찬가지로 헤더 및 몸체를 포함하며 몸체에 콘텐츠 내용을 덧붙여 원격지서버에 지정한 콘텐츠를 저장하기 위한 목적으로 사용된다. 그러나 이를 악용하여 홈페이지 변조에 사용한다.
6. DELETE
- 웹서버에 특정 파일 삭제가 가능
----------------------------
PUT /upload/lalala.txt HTTP/1.1
Host: 192.168.37.203
Content-Length: 16
lalala
HTTP/1.1 201 Created
Date: Mon, 24 Aug 2009 06:06:30 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Location: http://aaa.com/upload/lalala.txt
Content-Length: 0
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK
확인 : 윈도우 2003에서 다음 경로 확인 C:\Inetpub\wwwroot\demo\upload
-------------------------------
7. TRACE
- 원격지 서버에 Loopback 메시지를 호출하기 위해 사용된다.
-----------------------------
DELETE /upload/lalala.txt HTTP/1.1
Host: aaa.com
Content-Length: 8
HTTP/1.1 200 OK
Date: Mon, 24 Aug 2009 06:08:18 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 0
확인 : 윈도우 2003에서 다음 경로 확인 C:\Inetpub\wwwroot\demo\upload
-----------------------------
참고 사이트
- http://www.nicegass.co.kr/2011/05/telnet-80-get-post-head.html
- http://skynarciss.tistory.com/25