Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
427,44 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN PHÁT HIỆN LỖ HỔNG AN NINH TRÊN CÁC ỨNG DỤNG WEB Sinh viên thực hiện : Bùi Duy Hùng Lớp CNPM A - K49 Giáo viên hướng dẫn: TS Nguyễn Khanh Văn HÀ NỘI 6-2009 Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 2/19 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên: Bùi Duy Hùng Điện thoại liên lạc: 01697266076 Email: duyhung19@gmail.com Lớp: CNPM A – K49 Hệ đào tạo: Đại học chính quy Đồ án tốt nghiệp được thực hiện tại: Trường ĐH Bách Khoa – Hà Nội Thời gian làm ĐATN: Từ ngày 18 /02 /2009 đến 05 /06 /2009 2. Mục đích nội dung của ĐATN Nghiên cứu, tìm hiểu và cài đặt thuật toán phát hiện lỗ hổng an ninh trên các ứng dụng web. 3. Các nhiệm vụ cụ thể của ĐATN Tìm hiểu và cài đặt thuật toán ngăn chặn tấn công SQL Injection tại thời điểm thực thi (thuật toán Runtime SQLCheck) Tìm hiểu thuật toán phát hiện lỗ hổng SQL Injection trong mã nguồn ứng dụng (thuật toán Static SQLCheck) Xây dựng hệ thổng website để kiểm tra độ chính xác của công cụ cài đặt thuật toán Runtime SQLCheck 4. Lời cam đoan của sinh viên: Tôi Bùi Duy Hùng cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Nguyễn Khanh Văn. Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày 25 tháng 05 năm 2009 Tác giả ĐATN Bùi Duy Hùng 5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ: Hà Nội, ngày tháng năm 2009 Giáo viên hướng dẫn Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 3/19 TS Nguyễn Khanh Văn TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Sự tăng trưởng nhanh chóng của Internet đã tạo ra các dịch vụ web rất hữu ích, dần dần thay thế các giao dịch thủ công truyền thống. Điển hình như, ngày nay ta đã có thể ngồi nhà mà vẫn có thể thực hiện dịch vụ như kiểm tra tài khoản ngân hàng, đặt vé máy bay, mua sắm … Nhưng hầu hết các ứng dụng này đều chứa những lỗi bảo mật tiềm ẩn mà các tin tặc có thể khai thác và thực hiện tấn công. Kết quả của việc tấn công là tính cơ mật (tính riêng tư) và toàn vẹn của thông tin bị xâm phạm. Một trong những lỗi nguy cơ bảo mật tiềm ẩn phát triển nhanh nhất trong những năm gần đây xuất phát từ những sai sót trong việc kiểm tra tính hợp lệ của chuỗi đầu vào được cung cấp bởi người dùng, được gọi là tấn công dựa trên khai thác lỗ hổng SQL Injection. Nhưng nguyên nhân sâu xa hơn là nó lại bắt nguồn từ trong tầng lõi của ứng dụng, bao gồm một hệ thống nhận, chuyển đổi và xây dựng các giá trị chuỗi (một số giá trị chuỗi lại được cung cấp từ những nguồn không tin cậy), và trình diễn những giá trị đó tới hệ thống khác như các chương trình hay các đoạn chương trình. Do đó cần phải có những kỹ thuật mới để có thể hạn chế những nguy cơ bảo mật này. Đồ án này mô tả các kĩ thuật tấn công website dựa trên việc khác thác lỗi SQL Injection tiên tiến nhất hiện nay. Sau đó đồ án cung cấp những nguyên lý đầu tiên dựa trên các khái niệm từ các ngôn ngữ lập trình và trình biên dịch cho các lỗi bảo mật tiềm ẩn với định nghĩa hình thức cho tấn công SQL Injection. Dựa vào các mô tả này, đồ án mô tả và phân tích hai thuật toán: “bảo vệ tại thời điểm thực thi”(runtime protection) và “phân tích tĩnh”(static analysis). Hai thuật toán này đều có mục đích chung là chỉ ra những lỗi bảo mật trong mã của ứng dụng và ngăn cản các tin tặc khai thác chúng. Song mỗi thuật toán lại có một vai trò riêng trong vòng đời phát triển phần mềm. Thuật toán “bảo vệ tại thời điểm thực thi” (Runtime SQLCheck) ngăn cản hiệu quả SQL Injection trong các sản phẩm phần mềm đã được triển khai. Trong khi đó thuật toán “phân tích tĩnh” (Static SQLCheck) lại cần thiết trong suốt quá trình triển khai phần mềm và kiểm thử. Phần đóng góp thực tế của đồ án là thực hiện cài đặt thực tế cho các thuật toán trên (Runtime SQLCheck và Static SQLCheck) cùng với những kết quả thử nghiệm trên ứng dụng web thực tế (website bán sách trực tuyến). Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 4/19 ABSTRACT OF THESIS Together with the rapid growth of the Internet, many online services were born and became necessary in our daily life, these services are gradually replacing our manual transaction. For instance, we can check our bank account, book ticket, shopping even when we are at home. But most of these web applications contain many potential security vulnerabilities that hackers can easily exploit and attack. As a result, the integrity of confidential information is damaged. In recent years, one of the fastest developing potential security vulnerabilities is about checking the valid input sequence provided by users, where the so-called SQL injection attack exploits. But the primary cause is that the error is derived from the core of the applications, including receiving, conversion and construction of the sequence value (a string value supplied from an untrusted sources), and show that value to other systems such as program or modules. Therefore it is necessary to have a new technology to limit this security risk. The thesis describes in detail website attack techniques based on the latest SQL Injection exploitation. Then, it provides the basic principles based on programming languages concepts and compiler for potential security vulnerabilities, and formal definition for SQL Injection attacks. Based on this description, the thesis describes and analyzes two algorithms: "runtime protection" and" static analysis" . These two algorithms have the same purpose which is to find out the security vulnerabilities in the application and prevent the hackers from exploiting them. However, each algorithm has a particular role within the software development cycle. The algorithms "runtime protection" ( Runtime SQLCheck ) effectively prevent SQL Injection in the software when it was deployed, while algorithms "static analysis" (Static SQLCheck ) is needed during software implementation and testing. Finally, the most important contribution of the thesis is practical implementation of these algorithms (Runtime SQLCheck and Static SQLCheck) together with the implementation result on actual website – Online Booksale Website. Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 5/19 MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2 TÓM T ẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 3 ABSTRACT OF THESIS 4 M ỤC LỤC 5 DANH M ỤC HÌNH VẼ 8 DANH M ỤC BẢNG 9 DANH M ỤC CÁC THUẬT NGỮ 10 DANH M ỤC TỪ VIẾT TẮT 11 L ỜI CẢM ƠN 12 CH ƯƠNG 1. GIỚI THIỆU BÀI TOÁN 13 1.1. CÁC ỨNG DỤNG WEB 13 1.2. NHỮNG NGUY CƠ TIỀM ẨN TỪ VIỆC KIỂM TRA DỮ LIỆU ĐẦU VÀO 14 1.3. MỘT SỐ PHƯƠNG PHÁP PHÒNG CHỐNG SQL INJECTION PHỔ BIẾN 17 1.4. NHIỆM VỤ, KẾT QUẢ VÀ NGHIỆM THU 18 1.5. BỐ CỤC ĐỒ ÁN 19 CHƯƠNG 2. CÁC KỸ THUẬT TẤN CÔNG ỨNG DỤNG BẰNG SQL INJECTION Error! Bookmark not defined. 2.1. TRƯỜNG HỢP TẤN CÔNG SQL INJECTION PHỔ BIẾN.Error! Bookmark not defined. 2.2. KHAI THÁC THÔNG TIN SỬ DỤNG CÁC THÔNG ĐIỆP LỖI Error! Bookmark not defined. 2.3. STORED PROCEDURES Error! Bookmark not defined. 2.4. SQL INJECTION TIÊN TIẾN Error! Bookmark not defined. 2.4.1. Các chuỗi không ‘ Error! Bookmark not defined. 2.4.2. SQL Injection bậc hai Error! Bookmark not defined. 2.4.3. Giới hạn độ dài Error! Bookmark not defined. 2.4.4. Tránh kiểm tra Error! Bookmark not defined. Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 6/19 CHƯƠNG 3. THUẬT TOÁN RUNTIME SQLCHECK: NGĂN CHẶN SQL INJECTION TẠI THỜI ĐIỂM THỰC THI Error! Bookmark not defined. 3.1. THUẬT TOÁN NGĂN CHẶN SQL INJECTION Error! Bookmark not defined. 3.1.1. Giới thiệu Error! Bookmark not defined. 2.1.1. Tổng quan phương pháp Error! Bookmark not defined. 2.1.2. Các mô tả hình thức Error! Bookmark not defined. CHƯƠNG 4. THUẬT TOÁN STATIC SQLCHECK: PHÂN TÍCH TĨNH ĐỂ PHÁT HIỆN SQL INJECTION Error! Bookmark not defined. 4.1. GIỚI THIỆU Error! Bookmark not defined. 4.2. TỔNG QUAN BÀI TOÁN Error! Bookmark not defined. 4.2.1. Một ví dụ về lỗ hổng SQL Injection trong ứng dụng web.Error! Bookmark not defined. 4.3. Tổng quan phân tích Error! Bookmark not defined. 4.3.1. Thuật toán phân tích Error! Bookmark not defined. CHƯƠNG 5. CÀI ĐẶT VÀ THỬ NGHIỆM THUẬT TOÁN RUNTIME SQLCHECK TRÊN WEBSITE BÁN SÁCH TRỰC TUYẾN Error! Bookmark not defined. 5.1. THƯ VIỆN RuntimeSQLCheck Error! Bookmark not defined. 5.1.1. Kiến trúc của Runtime SQLCheck Error! Bookmark not defined. 5.1.2. Cấu trúc thư viện Runtime SQLCheck Error! Bookmark not defined. 5.1.3. Xây dựng bảng văn phạm gia tăng đã biên dịch. Error! Bookmark not defined. 5.1.4. Xây dựng câu truy vấn gia tăng Error! Bookmark not defined. 5.1.5. Phân tích ngữ pháp câu truy vấn gia tăng Error! Bookmark not defined. 5.2. KIỂM THỬ Error! Bookmark not defined. 5.2.1. Kiểm thử cài đặt RuntimeSQLCheck Error! Bookmark not defined. 5.2.2. Kết quả kiểm thử trên website bán sách trực tuyến Error! Bookmark not defined. CHƯƠNG 6. ĐÁNH GIÁ VÀ KẾT LUẬN Error! Bookmark not defined. 6.1. MỘT SỐ NHẬN XÉT ĐÁNH GIÁ Error! Bookmark not defined. Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 7/19 6.1.1. Một số kết luận về hai phương pháp Runtime SQLCheck và Static SQLCheck Error! Bookmark not defined. 6.1.2. Những công việc đã làm được Error! Bookmark not defined. 6.2. KHÓ KHĂN VÀ HẠN CHẾ Error! Bookmark not defined. 6.2.1. Những khó khăn trong quá trình làm đồ án Error! Bookmark not defined. 6.2.2. Những hạn chế của đồ án Error! Bookmark not defined. 6.3. HƯỚNG PHÁT TRIỂN Error! Bookmark not defined. 6.3.1. SQL Injection in Stored Procedure Error! Bookmark not defined. 6.3.2. Cross Site Scripting Error! Bookmark not defined. 6.3.3. Xpath Injection Error! Bookmark not defined. 6.3.4. Shell Injection Error! Bookmark not defined. TÀI LIỆU THAM KHẢO Error! Bookmark not defined. PHỤ LỤC A. GOLD PARSER SYSTEM Error! Bookmark not defined. 1. “PARSER” LÀ GÌ? Error! Bookmark not defined. 1.1. Bộ phân tích từ vựng (Lexical Analysis) Error! Bookmark not defined. 1.2. Bộ phân tích cú pháp Error! Bookmark not defined. 2. GOLD LÀM VIỆC NHƯ THẾ NÀO? Error! Bookmark not defined. 2.1. Builder Error! Bookmark not defined. 2.2. Engine Error! Bookmark not defined. 2.3. Tổng quan quá trình phát triển Error! Bookmark not defined. Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 8/19 DANH MỤC HÌNH VẼ Hình 1.1: Kiến trúc hệ thống của ứng dụng web 14 Hình 1.2: S ố lần tấn công và các nguy cơ tiềm ẩn hiện nay 15 Hình 3.1: M ột trang JSP để nhận số thể tín dụng Error! Bookmark not defined. Hình 3.2: Kiến trúc hệ thống của Runtime SQLCheck Error! Bookmark not defined. Hình 3.3: Các cây phân tích ngữ pháp cho các mệnh đề WHERE của các câu truy vấn được sinh ra. Các chuỗi con do người dùng nhập vào được gạch chân. Error! Bookmark not defined. Hình 3.4: Văn phạm đơn giản cho câu mệnh đề SELECT Error! Bookmark not defined. Hình 3.5: Văn phạm gia tăng cho văn phạm trình trong Hình 4.2. Các sản xuất mới/đã chỉnh sửa được tô bóng. Error! Bookmark not defined. Hình 3.6: Các phần của cây phân tích ngữ pháp cho một câu truy vấn gia tăng Error! Bookmark not defined. Hình 4.1: Đoạn mã ví dụ chứa lỗ hổng SQL Injection Error! Bookmark not defined. Hình 4.2: Trình tự công việc phân tích lỗ hổng SQL Injection trong các file nguồn PHP Error! Bookmark not defined. Hình 4.3: Các sản xuất văn phạm của các chuỗi truy vấn có thể từ Hình 5.1 Error! Bookmark not defined. Hình 4.4: Văn phạm phản ảnh luồng dữ liệu Error! Bookmark not defined. Hình 4.5: Một bộ chuyển đổi trạng thái hữu hạn tương ứng với hàm str_replace(“ ’’ ”,” ‘ ”,$B); }{'\ A Error! Bookmark not defined. Hình 5.1: Kiến trúc của Runtime SQLCheck Error! Bookmark not defined. Hình 5.2: Biểu đồ lớp của RuntimeSQLCheck Error! Bookmark not defined. Hình 5.3:Văn phạm SQL được viết theo dạng Backus-Naur Error! Bookmark not defined. Hình 5.4: Văn phạm SQL gia tăng được viết theo dạng Backus-Naur Error! Bookmark not defined. Hình 5.5: Bảng quá trình phân tích ngữ pháp (parse table) câu truy vấn. Error! Bookmark not defined. Hình 5.6: Website bán sách trực tuyến Error! Bookmark not defined. Hình 5.7: Quá trình đăng nhập hệ thống có sử dụng thư viện RuntimeSQLCheck Error! Bookmark not defined. Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 9/19 Hình 5.8: Kết quả kiểm tra khi thực hiện tấn công SQL Injection ở form đăng nhập (Login form) Error! Bookmark not defined. Hình 5.9: Kết quả kiểm tra khi thực hiện tấn công SQL Injection ở form đăng ký (Registration form) Error! Bookmark not defined. Hình 5.10: Kết quả kiểm tra khi thực hiện tấn công SQL Injection ở form tìm kiếm (Search form) Error! Bookmark not defined. Hình 5.11: Kết quả kiểm tra khi thực hiện tấn công SQL Injection ở form lời bình (Comment form) Error! Bookmark not defined. Hình 6.1: Stored Procedure tiềm ẩn lỗ hổng SQL Injection Error! Bookmark not defined. Hình A.0.1: Các thành phần của bộ Parser Error! Bookmark not defined. Hình A.0.2: Giao diện chương trình Gold Parser Builder Error! Bookmark not defined. Hình A.0.3: Quá trình phát triển một bộ parser Error! Bookmark not defined. DANH MỤC BẢNG Bảng 5.1: Độ chính xác cho RuntimeSQLCheck Error! Bookmark not defined. Bảng 6.1: So sánh hai phương pháp Runtime SQLCheck và Static SQLCheck Error! Bookmark not defined. Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 10/19 DANH MỤC CÁC THUẬT NGỮ Thuật ngữ Ý nghĩa Web browser Trình duyệt web Web Application Server Máy chủ ứng dụng web Database Server Máy ch ủ c ơ s ở dữ liệu Meta-Character Siêu ký tự: Là một chuỗi tổ hợp các ký tự chữ cái được sinh ra ngẫu nhiên sử dụng để đánh dấu đầu và cuối mỗi chuỗi đầu vào Augmented Input Đầu vào gia tăng: là chuỗi đầu vào khi đã được thêm các Meta - Character vào đ ầu v à cu ối chuỗi. Augmented Query Câu truy vấn gia tăng: là câu truy vấn được xây dựng từ các chu ỗi hằng v à đ ầu v ào gia tăng. Augmented Grammar Văn phạm gia tăng: là bộ văn phạm xây dựng cho các câu truy v ấn gia tăng. Parse tree Cây phân tích ngữ pháp Context free grammar Văn phạm phi ngữ cảnh Tranducer Bộ chuyển đổi Finite state tranducer Bộ chuyển đổi trạng thái hữu hạn [...]... CNPM A Trang 14/19 Phát hiện lỗ hổng an ninh trên các ứng dụng web sót từ khâu kiểm tra đầu vào trong các ứng dụng web Các tin tặc thường sử dụng những lỗi này (XSS và SQL Injection) để làm cho Web Application Server sinh ra các văn bản HTML và các câu truy vấn cơ sở dữ liệu mà người lập trình viên không có ý định nhắm tới hay nói cách khác là tin tặc sử dụng những lỗi này để tấn công ứng dụng web Những... thống kê các vụ tấn công website trong năm 2007 Mặc dù có nhiều vụ tấn công chưa được báo cáo hay chưa được phát hiện thì biểu đồ này cũng chỉ ra các con số 12% và 20% của các vụ tấn công web được thực hiện trong năm 2007 là Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 15/19 Phát hiện lỗ hổng an ninh trên các ứng dụng web XSS và SQL Injection tương ứng Còn theo thống kê mới nhất thì trong năm 2008 các website... mức ứng dụng Chúng không thể bị ngăn cản bởi các tường lửa kiểm duyệt các gói tin (phân tích chữ ký các gói IP riêng lẻ và chỉ định các cổng cụ thể) Tấn công ở tầng ứng dụng khác với tấn công ở tầng mạng Tấn công ở tầng ứng dụng khai thác các lỗi bảo mật trong mã ứng dụng web và các hạn chế của giao thức HTTP Tấn công ở tầng ứng dụng không thể bị chặn bởi các tường lửa và các phần mềm diệt virus Các. .. Phát hiện lỗ hổng an ninh trên các ứng dụng web ; sau đó xin giới thiệu các công việc đã hoàn thành cùng các ý tưởng thực hiện Cuối cùng người viết xin cung cấp vắn tắt bố cục của đồ án 1.1 CÁC ỨNG DỤNG WEB Sự ra đời của Internet đã đánh dấu một bước nhảy vọt trong sự phát triển của ngành công nghệ thông tin Sự phát triển nhanh của Internet đã tạo một cuộc cách mạng thục thụ Internet nhanh chóng xâm... trúc tĩnh của các câu truy vấn hay các trang web được sinh ra từ chối hoàn toàn các đầu vào “tồi” (bad input), cho ví dụ, các bộ lọc biểu thức chính quy vẫn còn có những hạn chế Do đó một trình phân tích chuỗi cần thiết phải có để đảm bảo các tấn công SQL Injection không thể xảy ra Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 17/19 Phát hiện lỗ hổng an ninh trên các ứng dụng web Việc phát hiện ra những... tâm Qua những thống kê trên thì chúng ta có thể thấy là SQL Injection ngày càng trở thành phương thức tấn công khá ưu thích đối với các tin tặc Tấn công SQL Injection là một trong các cách tấn công mức ứng dụng rất phổ biến trong các ứng dụng web Đây là một kiểu tấn công mà tin tặc lợi dụng lỗ hổng trong khâu kiểm tra dữ liệu nhập vào trong các ứng dụng web và các thông báo lỗi trong hệ quản trị cơ.. .Phát hiện lỗ hổng an ninh trên các ứng dụng web DANH MỤC TỪ VIẾT TẮT Từ viết tắt Viết đầy đủ HTML Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn bản HTTP Hypertext Tranfer Protocol Giao thức truyền tải siêu văn bản SQLCIA SQL Command Injection Attack LALR Look Ahead Left-to-Right CFG Context Free Grammar Văn phạm phi ngữ cảnh SQLCIV SQL Command Injection Vulnerability Lỗ hổng SQL Injection... Lớp CNPM A Trang 12/19 Phát hiện lỗ hổng an ninh trên các ứng dụng web CHƯƠNG 1 GIỚI THIỆU BÀI TOÁN An toàn và bảo mật thông tin, đặc biệt là cho dữ liệu máy tính, không chỉ là sự quan tâm của tất cả các doanh nghiệp, dịch vụ tài chính hay chính phủ mà còn là vấn đề mà bất kỳ người sử dụng máy tính nào cũng phải chú ý và thường xuyên đối mặt Từ người dùng máy tính để bàn bình thường trong các phòng nghiên... nghĩa đặc biệt quan trong đối với cả người dùng và những nhà cung cấp dịch vụ ) Sự xuất hiện mô hình tương tác Business-to-Business (B2B) và Business-to-Consumer (B2C) thì việc trao đổi thông tin chính xác và bảo mật trở nên cần thiết hơn lúc nào hết Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 13/19 Phát hiện lỗ hổng an ninh trên các ứng dụng web Hình 1.1: Kiến trúc hệ thống của ứng dụng web Hình 1.1 đưa... thực hiện mua bán và thanh toán trực tuyến hay chúng còn được sử dụng làm nơi để các cộng đồng dân cư trên mạng có thể trao đổi, giao lưu và chia sẻ các thông tin của mình (blog, các website cá nhân) Chỉ với một chiếc máy tính, một thiết bị cầm tay … có cài đặt trình duyệt web thì việc truy cập vào web và các dịch vụ có thể thực hiện ở bất cứ nơi nào Các dữ liệu mà ứng dụng web nắm giữ như số thẻ tín dụng, . TIN PHÁT HIỆN LỖ HỔNG AN NINH TRÊN CÁC ỨNG DỤNG WEB Sinh viên thực hiện : Bùi Duy Hùng Lớp CNPM A - K49 Giáo viên hướng dẫn: TS Nguyễn Khanh Văn HÀ NỘI 6-2009 Phát hiện lỗ hổng an ninh trên các. loại lỗi phổ biến dựa trên những thiếu Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 15/19 sót từ khâu kiểm tra đầu vào trong các ứng dụng web. Các. not defined. Phát hiện lỗ hổng an ninh trên các ứng dụng web Bùi Duy Hùng - Khóa 49 - Lớp CNPM A Trang 10/19 DANH MỤC CÁC THUẬT NGỮ Thuật ngữ Ý nghĩa Web browser Trình duyệt web Web Application