Trong thời đại ngày này nay internet đã rất trở nên quen thuộc và là một công cụ hữu ích để một đất nước giới thiệu hình ảnh hay đơn giản chỉ là một trang web cá nhân của một ai đó giới thiệu về mình.
Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân LỜI MỞ ĐẦU Trong thời đại ngày internet trở nên quen thuộc cơng cụ hữu ích để đất nước giới thiệu hình ảnh hay đơn giản trang web cá nhân giới thiệu Tất kéo theo phát triển không ngừng ứng dụng web Và khái niệm ứng dụng web trở nên phổ biến Khi mà internet ,ứng dụng web trở lên phổ biến ,ứng dụng cách rộng rãi cơng ứng dụng web phát triển phức tạp Điều đặt vấn đề cấp thiết cần làm để bào đảm an tồn thơng tin cho ứng dụng web, thông tin người sử dụng Các khái niệm chuyên môn ứng dụng web công ứng dụng web dần trở nên phổ biến tài liệu chuyên ngành Các công cụ hỗ trợ người lập trình web, người quản trị mạng xuất giúp tìm kiếm lỗ hổng ứng dụng web khơng theo kịp phát triển nhanh đến mức chóng mặt theo xu hướng nhanh đẹp ứng dụng web, tất nhiên khơng thể ngăn chặn hồn tồn cơng ứng dụng web, mà công ngày đa dạng khai thác triệt để lỗi ứng dụng web, người quản trị, hay người lập trình ứng dụng web Thống kê cho thấy 75% cơng internet cơng ứng dụng web,nó gây thiệt hại vơ to lớn, việc tìm hiểu cơng ứng dụng web cần thiết nhằm có cách phịng chống cơng bảo mật ứng dụng web hiệu trở thành yêu cầu cấp thiết Do xu tất yếu thời, nên việc tìm hiểu nghiên cứu ứng dụng web giúp ích nhiều cho nhà lập trình web mới, hay quản trị viên cịn kinh nghiệm việc quản trị hệ thống mạng mình, phịng tránh , hay khắc SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân phục lỗi ứng dụng web Đồ án thực nhằm mục đích giới thiệu rõ ứng dụng web nhằm tránh nhầm lẫn đồng thời tìm hiểu cơng ứng dụng web phổ dụng nhằm có cách phịng chống ,bảo mật cho ứng dụng web hợp lý SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân Lời cảm ơn Em xin cảm ơn khoa công nghệ thông tin trường cao đẳng Công Thương tạo điều kiện thuận lợi để em hoàn thành đồ án Cảm ơn Thầy Huỳnh Nguyễn Thành Luân thầy khoa công nghệ thơng tin tận tình hướng dẫn cung cấp tài liệu giúp đỡ em làm đồ án SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân Mục Lục CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB 1.1 khái niệm ứng dụng web(website widget hay web application) 1.2 Cấu trúc,chức năng,giao diện&nguyên tắc hoạt động ứng dụng web 1.2.1 Cấu trúc ứng dụng web 1.2.2 Giao diện ứng dụng web 1.2.3 Chức ứng dụng web .10 1.2.4 Nguyên tắc hoạt động ứng dụng web 11 1.2.5 Vấn đề bảo mật ứng dụng web .13 CHƯƠNG 2: GIỚI THIỆU VỀ CÁC THUẬT NGỮ VÀ KHÁI NIỆM LIÊN QUAN 17 2.1 Các khái niệm thuật ngữ thường dùng 17 2.1.1 Các khái niệm chung ứng dụng web .17 2.1.2 Thuật ngữ ,khái niệm công cụ liên quan đến ứng dụng web 18 2.1.3 Các khái niệm thuật ngữ liên quan đến công bảo mật ứng dụng web 21 2.1.3.1 Khái niệm hacker 21 2.1.3.2 HTTP HEARDER 22 2.1.3.3 SESSION 22 2.1.3.4 COOKIE 23 2.1.3.5 PROXY 25 CHƯƠNG 3: CÁC KĨ THUẬT TẤN CÔNG ỨNG WEB CƠ BẢN 26 A Lý thuyết 26 KIỂM SOÁT TRUY CẬP WEB (Web Access Control) 26 CHIẾM HỮU PHIÊN LÀM VIỆC(Session Mangement) .26 2.1 Ấn định phiên làm việc (Session Fixation) 26 2.2 Đánh cắp phiên làm việc (Session Hijacking) 26 LỢI DỤNG THIẾU SÓT TRONG VIỆC KIỂM TRA DỮ LIỆU HỢP LỆ (INPUT VALIDATION) .27 3.1 Kiểm tra tính đắn liệu ngơn ngữ phía trình duyệt 27 3.2 Tràn đệm (Buffer OverFlow) .27 3.3 Mã hoá URL (URL Encoding) .27 3.4 Kí tự Meta (Meta-characters Sử dụng kí tự đặc biệt 27 3.5 Vượt qua đường dẫn (Path Traversal): 27 3.6 Chèn mã lệnh thực thi trình duyệt nạn nhân .27 3.7 Thêm câu lệnh hệ thống (OS Command Injection) 28 3.8 Kí tự rỗng (Null Characters) 28 3.9 Chèn câu truy vấn SQL (SQL Injection) 28 3.10 Ngơn ngữ phía máy chủ (Server side includes) 28 SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân 3.11 Thao tác tham số truyền (Parameter manipulation) 29 3.12 Từ chối dịch vụ (Denial of service (DoS)) 29 B, Các cách triển khai công ứng dụng web 29 Thao tác tham số 29 1.1 THAO TÁC TRÊN URL 29 1.1.1 Khái niệm 29 1.1.2 Cách khắc phục 30 1.2 THAO TÁC TRÊN BIẾN ẨN FORM 30 1.2.1 Khái niệm 30 1.2.2 Một số biện pháp khắc phục 30 Kĩ thuật công SQL Injection 31 2.1 Dưới kĩ thuật SQL injection đơn giản 31 2.2 Tấn công dưa vào câu lệnh SELECT 33 2.3 Tấn công dựa vào câu lệnh HAVING 33 2.4 Tấn công dựa vào câu lệnh kết hợp UNION .33 2.5 Tấn công dựa vào lệnh INSERT 39 2.6 Tấn công dưa vào STORED PROCEDURE .39 2.7 Một số kĩ thuật công bổ xung 40 2.7.1 Chuỗi kí tự khơng có dấu nháy đơn 40 2.7.2 Tấn công tầng 40 2.7.3 Tránh kiểm soát: 42 2.7.4 Dùng Extended Stored Procedure có sẵn hệ thống 43 2.7.5 Dùng Extended Stored Procedure tự tạo 43 2.7.6 Nhập tập tin văn vào bảng 44 2.7.7 CÁCH PHÒNG CHỐNG 44 Kĩ thuật công gây tràn đệm từ chối dịch vụ(Buffer overflow) 45 3.1 Khái niệm 46 3.2 Các đối tượng bị ảnh hưởng kiểu công 46 3.3 Các kiểu công DDos 46 3.3.1 Kiểu công thứ 46 3.3.2 Kiểu công thứ 46 3.3.3 Kiểu công vào tài nguyên hệ thống 47 3.4 Cách phòng chống 47 CHƯƠNG GIỚI THIỆU MỘT SÔ CÔNG CỤ PHỔ DỤNG TRONG KĨ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB 49 3.1 Tool scanning 49 Công cụ bắt gói tin 52 Công cụ dùng để công dos ứng dụng web 55 PHẦN KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỒ ÁN .56 Tài liệu tham khảo 57 SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân Đồ án phần sau Giới thiệu Đồ án Chương 1: Giới thiệu tổng quan ứng dụng web Chương 2:Giới thiệu thuật ngữ khái niệm liên quan Chương 3: Giới thiệu Sơ lược số cách công ứng dụng web Chương chương 4: Giới thiệu cách sử dụng số công cụ phổ dụng Kết luận hướng phát triển đồ án SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB 1.1 khái niệm ứng dụng web(website widget hay web application) Mang tính kỹ thuật nhiều giải thích ứng dụng Web truy vấn máy chủ chứa nội dung (chủ yếu sở liệu lưu trữ nội dung) tạo tài liệu Web động để phục vụ yêu cầu máy khách (chính người dùng website) Tài liệu tạo kiểu định dạng tiêu chuẩn hỗ trợ tất trình duyệt (như HTML, XHTML) JavaScript dạng script client-side cho phép yếu tố động có trang (như thay đổi ảnh lần người dùng di chuột tới) Trình duyệt Web chìa khóa Nó dịch chạy tất script, lệnh… hiển thị trang web nội dung yêu cầu Dưới góc độ chức năng, ứng dụng Web chương trình máy tính cho phép người dùng website đăng nhập, truy vấn vào liệu qua mạng Internet trình duyệt Web u thích họ Dữ liệu gửi tới người dùng trình duyệt theo kiểu thơng tin động (trong định dạng cụ thể, với HTML dùng CSS) từ ứng dụng Web qua Web Server Để hiểu nghĩa khái niệm sâu vào tìm hiểu tiếp mơ hình cấu trúc chức nhiệm vụ ứng dụng web SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật 1.2 GVHD:Thầy Huỳnh Nguyễn Thành Luân Cấu trúc,chức năng,giao diện&nguyên tắc hoạt động ứng dụng web 1.2.1 Cấu trúc ứng dụng web Mơ hình ứng dụng web đơn giản mơ hình MVC (Model - View Controller) Tầng Model: chứa code connect tới database,truy vấn thêm xóa sửa liệu Tầng View: chứa code tạo giao diện tương tác với người dùng, liệu vẽ nhu Tầng Controller: chứa code điều khiển dòng liệu (flow control), gắn kết tầng Mode tầng View lại với Ứng dụng chia thành layer tăng tính reuse dễ dàng mở rộng Chẳng hạn muốn ứng dụng truy xuất di dộng, cần tạo tầng view riêng cho di động, tầng model controller không thay dổi Hay muốn thay đổi database, việc dễ dàng hơn, cần ta tạo tầng model mới, phần view controller không bị ảnh hưởng Mơ hình thể quan hệ ba lớp ứng dụng web: Hình mơ hình tầng ứng dụng web Cịn mơ hình dịch vụ ứng dụng web: SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân Hình Mơ hình dịch vụ ứng dụng web đơn giản Tầng Presentation: dùng để giao tiếp với người dùng, nhiệm vụ hiển thị liệu nhận liệu từ người dùng - Tầng Business Logic: nhiệm vụ cung cấp chức phần mềm - Tầng Data: lưu trữ liệu, cho phép lớp Business Logic tìm kiếm, trích xuất, cập nhật… liệu 1.2.2 Giao diện ứng dụng web Giao diện web đặt giới hạn khả người dùng Thông qua Java, JavaScript, DHTML, Flash công nghệ khác, phương pháp ứng dụng có vẽ hình, chơi nhạc, dùng bàn phím chuột tất thực Những kỹ thuật thông thường kéo thả hỗ trợ công nghệ Những nhà phát triển web thường dùng ngôn ngữ kịch phía người dùng để thêm hiệu tính năng, đặc biệt tạo cảm giác giao tiếp trực quan mà không cần phải tải trang lại (điều mà nhiều người dùng cảm thấy ngắt quãng) Vừa rồi, công nghệ phát triển để phối hợp ngơn ngữ kịch phía người dùng với cơng nghệ phía máy chủ PHP Ajax, kỹ thuật phát triển web sử dụng kết hợp nhiều công nghệ khác nhau, ví dụ cơng nghệ tạo ngày nhiều trải nghiệm tương tác SV :Nguyễn Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân 1.2.3 Chức ứng dụng web Ứng dụng web phổ biến nhờ vào có mặt vào nơi đâu chương trình Khả cập nhật bảo trì ứng dụng Web mà phân phối cài đặt phần mềm hàng ngàn máy tính lý cho phổ biến Ứng dụng web dùng để thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị quan hệ khách hàng nhiều chức khác Web kênh bán hàng thông minh cho hàng nghìn tổ chức, doanh nghiệp, lớn có, nhỏ có Với tỷ người dùng Internet ngày (nguồn: Computer Industry Almanac 2006), thương mại điện tử Mỹ sử dụng khoảng 102 tỷ đô la năm 2006 cho giao dịch (nguồn: comScore Networks 2007) Tất liệu cần phải đóng gói, lưu trữ, xử lý truyền vận theo cách đó, sử dụng vào ngày sau Các ứng dụng Web, lĩnh vực đăng ký, đệ trình, truy vấn, đăng nhập, bán hàng hệ thống quản lý nội dung website widget cho phép thực tất công việc mong muốn Web là yếu tố giúp doanh nghiệp tăng cường hình ảnh trực tuyến giới mạng, tạo trì nhiều mối quan hệ đem lại lợi nhuận lâu dài với khách hàng tiềm khách hàng Khơng nghi ngờ ứng dụng Web trở thành thứ hữu khắp nơi giới Nhưng tính kỹ thuật cao yếu tố tổng hợp phức tạp tự nhiên nên chúng không nhiều người biết đến xác, chí bị hiểu nhầm trầm trọng sống bận rộn ngày Website ngày khác xa so với kiểu đồ họa văn tĩnh kỷ mười chín hay thời kỳ trước Các trang Web đại cho phép người dùng lấy xuống nội dung động cá nhân hóa theo thiết lập tham chiếu riêng Hơn chúng chạy script máy khách, “thay đổi” trình duyệt Internet thành giao diện SV :Nguyễn Văn Đại 10 ... sau Giới thiệu Đồ án Chương 1: Giới thiệu tổng quan ứng dụng web Chương 2 :Giới thiệu thuật ngữ khái niệm liên quan Chương 3: Giới thiệu Sơ lược số cách công ứng dụng web Chương chương 4: Giới thiệu. .. động ứng dụng web 1.2.1 Cấu trúc ứng dụng web 1.2.2 Giao diện ứng dụng web 1.2.3 Chức ứng dụng web .10 1.2.4 Nguyên tắc hoạt động ứng dụng web 11 1.2.5 Vấn đề bảo mật ứng dụng. .. Văn Đại Đồ án :Ứng dụng web vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân Mục Lục CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB 1.1 khái niệm ứng dụng web( website widget hay web application)