2017. 2. 4.

[웹 취약점] HTTP 메소드 -2 (Telnet 을 이용하여 사용 가능 Method 확인 방법)

보통 Telnet 은 telnet port를 이용해 telnet을 사용하기 위해 이용되지만, 해당 ip 의 port 가 열려있는지, 특정 method가 허용되어 있는지, 어떤 was를 사용하고 버전은 무엇인지를 확인 할 수 있다.

본 블로그에서는 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

Popular Posts

Recent Posts

Powered by Blogger.