Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 28-08-2009, 05:08 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Nhận biết máy chủ Web Server
Nhận biết máy chủ Web Server

Sở dĩ seamoun tách riêng phần nhận biết máy chủ Web Server thành một chủ đề bởi vì ngày nay web trở nên rất phổ biến và cách tấn công máy chủ từ web cũng vậy do nó phải luôn luôn được duy trì (trừ khi server web bị DOS nên down thôi ! ). Thực chất việc tấn công một máy chủ web tức là tấn công hệ thống đích đó trên cổng 80. Hiển nhiên nó có nhiều kỹ thuật và sự khác biệt so với những dịch vụ khác , điều này seamoun không cần phải giới thiệu về web cũng thành phần liên quan đến web, do nó quá phổ biến và ai cũng biết.
Các bước tiến hành xác định banner của máy chủ web cũng tương tự như các dịch vụ khác.
Do nó cũng là một dịch vụ chạy trên TCP port 80 do vậy việc xác định nó cũng kết nối đến máy chủ web trên port 80
Ví dụ

D:\Hacking>nx -vv matbao.com 80
DNS fwd/rev mismatch: matbao.com != smb57.vdrs.net
matbao.com [203.162.163.57] 80 (http) open
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Content-Length: 5118
Content-Type: text/html
Content-Location: http://203.162.163.57/index.htm
Last-Modified: Tue, 27 Sep 2005 07:20:00 GMT
Accept-Ranges: bytes
ETag: "2c739df33c3c51:5ea"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET

Date: Tue, 08 Apr 2008 08:20:43 GMT
Connection: close

sent 17, rcvd 319: NOTSOCK

Cách trên là cách đơn giản nhất để xác định máy chủ Web đang chạy là gì, và sử dụng công nghệ gì. Ở vì dụ trên thì Web Server là IIS/6.0 chạy ASP.NET hoặc ASP.
Nếu một máy chủ Web cố tình sử dụng một số phần mềm như IIS Lockdown, Server Mask đối với IIS hoặc thay đổi tên máy chủ trên cấu hình Apache nhằm mục
đích chống hacker xác định dịch vụ web server là gì ? Hacker có thể sử dụng kỹ thuật http fingerprinting cao cấp hơn như sau :
a) Cách 1
Cũng kết nối đến máy chủ web trên cổng 80 như lại sử dụng một lệnh khác (không phải phương thức GET, POST thông thường) và chờ sự phản hồi lỗi từ phía
máy chủ web và từ đó xác định máy chủ web đang chạy là gì
Ví dụ

Đối với máy chủ Sun One Web Server nếu thực hiện:

$ nc sun.site.com 80
PUT / HTTP/1.0
Host: sun.site.com

thì nó sẽ phản hồi như sau:

HTTP/1.1 401 Unauthorized
Server: Sun-ONE-Web-Server/6.1


Đối với máy chủ IIS 6.0 nếu thực hiện:

$ nc iis6.site.com 80
PUT / HTTP/1.0
Host: iis6.site.com

thì nó sẽ phản hồi như sau:

HTTP/1.1 411 Length Required
Server: Microsoft-IIS/6.0
Content-Type: text/html


Đối với máy chủ là IIS 5.x nếu thực hiện

$ nc iis5.site.com 80
PUT / HTTP/1.0
Host: iis5.site.com

thì nó sẽ phản hồi như sau:

HTTP/1.1 403 Forbidden
Server: Microsoft-IIS/5.1


Đối với máy chủ là Apache 2.0.x nếu thực hiện:

$ nc apache.site.com 80
PUT / HTTP/1.0
Host: apache.site.com

nó sẽ phản hồi như sau:

HTTP/1.1 405 Method Not Allowed
Server: Apache/2.0.54


Như các bạn đã thấy ở trên đối với máy chủ khác nhau thì nó sẽ có cách phản hồi khi gửi lệnh PUT khác nhau và từ đó ta xác định được dịch vụ máy chủ web đang chạy là gì ?

Cách 2) Dựa vào đặc điểm phản hồi của máy chủ sau khi gửi lệnh HEAD
Cũng kết nối đến máy chủ đích trên port 80 và sử dụng HEAD giống như trường hợp ban đầu như phân tích kỹ hơn phần phản hồi
của máy chủ web để nhận định.

HTTP/1.1 200 OK
Date: Mon, 22 Aug 2005 20:22:16 GMT
Server: Apache/2.0.54

Last-Modified: Wed, 10 Aug 2005 04:05:47 GMT
ETag: "20095-2de2-3fdf365353cc0"
Accept-Ranges: bytes
Content-Length: 11746
Cache-Control: max-age=86400
Expires: Tue, 23 Aug 2005 20:22:16 GMT
Connection: close
Content-Type: text/html; charset=ISO-8859-1

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
Date: Mon, 22 Aug 2005 20:24:07 GMT

Connection: Keep-Alive
Content-Length: 6278
Content-Type: text/html
Cache-control: private

HTTP/1.1 200 OK
Server: Sun-ONE-Web-Server/6.1
Date: Mon, 22 Aug 2005 20:23:36 GMT
Content-length: 2628
Content-type: text/html
Last-modified: Tue, 01 Apr 2003 20:47:57 GMT
Accept-ranges: bytes
Connection: close

HTTP/1.1 200 OK
Connection: close
Date: Mon, 22 Aug 2005 20:39:23 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 23756

Những phần mà seamoun làm đậm lên các bạn sẽ thấy sự khác biệt giữa những máy chủ web. Nếu nó là Apache thì Date để trước Server ngược lại so với IIS 5.1. Còn đối với Sun thì lengh và type nó viết thường không giống như
Apache và IIS. Còn IIS 6.0 thì nó có thêm dòng Connection: close


Tất các cách thực hiện trên đều dựa trên việc kết nối đến máy đích và sử dụng lệnh và chờ đợi sự phản hồi từ máy chủ web, sau đó
phân tích sự phản hồi của máy chủ web và đưa ra kết luận về máy chủ web.
Một công cụ mạnh dùng để thực hiện http fingerprinting là httprint Tool. Nó cho phép xác định dịch vụ web đang chạy là gì ? Là một đối thủ nặng ký đối với những công cụ
chống banner grabbing như Server Mask , IIS Lockdown

Theo: seamoun (hvaonline)

  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời



Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 02:25 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.