18 xay dung ung dung web an toan

201 16 0
18 xay dung ung dung web an toan

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ TS NGUYỄN TUẤN ANH, KS HOÀNG THANH NAM GIÁO TRÌNH XÂY DỰNG ỨNG DỤNG WEB AN TỒN HÀ NỘI, 2013 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ TS NGUYỄN TUẤN ANH, KS HOÀNG THANH NAM GIÁO TRÌNH XÂY DỰNG ỨNG DỤNG WEB AN TỒN HÀ NỘI, 2013 MỤC LỤC Mục lục ii Danh mục từ viết tắt v Lời nói đầu vi Chương Giới thiệu chung xây dựng ứng dụng web an toàn 1.1 Ứng dụng web 1.2 Giao thức HTTP 1.2.1 Truy vấn HTTP 1.2.2 Phản hồi HTTP 1.2.3 Phương thức HTTP 1.2.4 Cookie Session .8 1.2.5 HTTPS .11 1.3 Ngôn ngữ HTML thành phần trang web 11 1.4 Ngơn ngữ lập trình web .13 1.5 Hiểm họa an toàn ứng dụng web .16 1.5.1 Nhóm hiểm họa xác thực 16 1.5.2 Nhóm hiểm họa trao quyền .17 1.5.3 Nhóm hiểm họa cơng lên máy khách 19 1.5.4 Nhóm hiểm họa thực thi câu lệnh 20 1.5.5 Nhóm hiểm họa làm lộ thơng tin .21 1.5.6 Nhóm hiểm họa công logic .22 1.6 Quy trình xây dựng ứng dụng web an toàn 23 1.7 Câu hỏi ôn tập 25 Chương Các công ứng dụng web thường gặp cách phòng tránh 26 2.1 Tấn công XSS 26 2.1.1 Ví dụ XSS 26 2.1.2 Phân loại XSS 29 2.1.3 Khả XSS 33 2.1.4 Phòng chống XSS 35 2.2 Tấn công CSRF 39 2.2.1 Ví dụ CSRF 40 2.2.2 Phòng chống CSRF 42 2.2.3 Tự bảo vệ trước CSRF 48 ii 2.3 Tấn công SQL Injection .49 2.3.1 Ví dụ SQL Injection 49 2.3.2 Xác định phiên DBMS dùng website .52 2.3.3 Kỹ thuật khai thác liệu thông qua toán tử UNION 56 2.3.4 Kỹ thuật khai thác thông qua câu lệnh điều kiện 63 2.3.5 Kỹ thuật khai thác liệu với Blind SQL Injection .66 2.3.6 Kỹ thuật vượt qua lọc tham số đầu vào .66 2.3.7 Một công SQL Injection thực tế 69 2.3.8 Phòng chống SQL Injection mức xây dựng ứng dụng 75 2.3.9 Phòng chống SQL Injection mức tảng hệ thống 79 2.4 Tấn công từ chối dịch vụ 79 2.4.1 Khái niệm dạng thức công từ chối dịch vụ 79 2.4.2 Các dạng công từ chối dịch vụ 80 2.4.3 Tấn công từ chối dịch vụ phân tán 86 2.4.4 Phịng chống cơng từ chối dịch vụ 90 2.5 Một số công khác 90 2.5.1 Tấn công Path Traversal 90 2.5.2 Tấn công Content Spoofing 91 2.6 Câu hỏi ôn tập 93 Chương Xây dựng ứng dụng web an toàn 94 3.1 Quản lý tài khoản người dùng 94 3.1.1 Quy định thông tin định danh xác thực 94 3.1.2 Quản lý mật 96 3.1.3 Cơ chế phục hồi mật .100 3.2 Xác thực phân quyền người dùng .102 3.2.1 Xác thực người dùng .103 3.2.2 Chống cơng dị mật 105 3.2.3 Phân quyền người dùng 107 3.3 Quản lý trạng thái phiên làm việc 110 3.3.1 Vấn đề ghi nhớ trạng thái 110 3.3.2 Quản lý trạng thái phía client sử dụng cookie .112 3.3.3 Quản lý trạng thái phía server sử dụng session .117 3.4 Mã hóa liệu nhạy cảm 122 iii 3.4.1 Bảo vệ liệu giao thức HTTPS 123 3.4.2 Khả mật mã ngơn ngữ lập trình web .126 3.4.3 Bảo vệ mật người dùng server 129 3.4.4 Bảo vệ liệu khác server .131 3.5 Lọc liệu người dùng 133 3.5.1 Xác định nguồn nhập liệu 134 3.5.2 Chiến lược phòng thủ xây dựng ứng dụng web 137 3.5.3 Kỹ thuật lọc liệu người dùng 141 3.5.4 Công cụ lọc liệu người dùng 143 3.5.5 Hạn chế tối đa tác động liệu người dùng 146 3.6 Bảo vệ sở liệu 148 3.6.1 Lựa chọn vị trí an tồn cho DBMS .148 3.6.2 Hạn chế bề mặt công .150 3.6.3 Cấp phép truy cập liệu với đặc quyền tối thiểu 150 3.6.4 Cập nhật DBMS 150 3.6.5 Phòng chống công SQL Injection 150 3.7 Nội dung thực hành 151 3.8 Câu hỏi ôn tập 151 Chương Triển khai vận hành an toàn ứng dụng web 152 4.1 Những yếu tố đảm bảo an toàn ứng dụng web 152 4.2 Đánh giá an toàn ứng dụng web .154 4.3 Cấu hình an tồn cho máy chủ web 156 4.3.1 Cấu hình an tồn cho IIS .156 4.3.2 Cấu hình an tồn cho Apache 160 4.4 Bảo vệ máy chủ web 167 4.4.1 Mơ hình bảo vệ máy chủ web .167 4.4.2 Cân tải 171 4.4.3 Vượt qua lỗi 176 4.5 Nội dung thực hành 177 4.6 Câu hỏi ôn tập 177 Tài liệu tham khảo 178 iv DANH MỤC TỪ VIẾT TẮT ACL Access Control List ASP Active Server Pages CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart CSRF Cross-Site Request Fogery DBMS Data Base Management System DDoS Distributed Denial of Service DLL Dynamic-link Library DOM Document Object Model DoS Denial of Service IIS Internet Information Service IRC Internet Relay Chat OSI Open System Interconnection OTP One Times Password OWASP Open Web Application Security Project PHP Personal Home Page (old), Hypertext Preprocessor (new) PoD Ping of Death RFC Request For Comment SQL Structed Query Language URL Uniform Resource Locator WAMP Windows, Apache, MySQL, PHP XSRF Cross-Site Request Fogery XSS Cross-Site Scripting v LỜI NĨI ĐẦU Xu tin học hóa xã hội có từ nhiều thập kỉ qua, đến diễn mạnh mẽ Rất nhiều dịch vụ thương mại hành cung cấp trực tuyến Nhiều quốc gia giới, có Việt Nam, nỗ lực việc xây dựng phủ điện tử Ngày nay, mạng Internet lan tỏa khắp ngõ ngách giới; dịch vụ Internet sâu vào đời sống xã hội Việt Nam Ngày nay, thông qua Internet, mà cụ thể thơng qua World Wide Web, tiếp cận dịch vụ thông tin, giải trí, giao tiếp với người thân, học tập, mua sắm, giao dịch ngân hàng Sự tiện lợi Internet khiến trở thành phần khơng thể thiếu phận đông đảo người dân Tuy nhiên, năm vừa qua, nhiều website Internet bị công, gây thiệt hại nặng nề cho cá nhân, tổ chức phủ Điều gióng lên hồi chng cảnh báo nguy an toàn tham gia vào mạng máy tính tồn cầu Nhưng xu tin học hóa xã hội khơng thể cưỡng lại, việc ngày có nhiều dịch vụ đưa lên Internet điều tất yếu lợi ích to lớn mà mang lại Vấn đề đặt phải đảm bảo an toàn cho người dùng nhà cung cấp dịch vụ tham gia vào môi trường trực tuyến Hầu hết dịch vụ trực tuyến cung cấp ứng dụng web, Học viện Kỹ thuật mật mã định đưa học phần "Xây dựng ứng dụng we an toàn" vào chương trình đào tạo Kĩ sư an tồn thơng tin Học phần giúp sinh viên nắm bắt hiểm họa an toàn ứng dụng web, chất cách thực cách thức phịng tránh cơng lên ứng dụng web, cách thức xây dựng ứng dụng web an toàn với khả chống lại công, vấn đề quan trọng triển khai vận hành để đảm bảo an toàn cho ứng dụng web Để tiếp thu hiệu kiến thức học phần này, sinh viên cần có kiến thức lập trình ứng dụng web, đặc biệt sử dụng ngôn ngữ PHP ASP.NET Học phần Việt Nam, giáo trình lại biên soạn thời gian hạn chế nên khơng thể tránh khỏi thiếu sót Rất mong nhận ý kiến đóng góp đồng nghiệp tồn thể bạn đọc để chúng tơi hồn thiện giáo trình CÁC TÁC GIẢ vi CHƯƠNG GIỚI THIỆU CHUNG VỀ XÂY DỰNG ỨNG DỤNG WEB AN TOÀN 1.1 ỨNG DỤNG WEB Tiền thân mạng Internet ngày mạng ARPANET xây dựng vào năm 1969 theo yêu cầu quốc phòng Mỹ Ban đầu, sử dụng để liên kết địa điểm là: Viện nghiên cứu Stanford, Đại học California Los Angeles, Đại học Utah Đại học California Santa Barbara Và mạng diện rộng (Wide Area Network - WAN) xây dựng Khi đó, ARPANET nhà khoa học nghiên cứu xây dựng nhằm phục vụ mục đích quân Nhưng sau, mạng liên lạc nhanh chóng phát triển, sử dụng cho mục đích khoa học Vào năm 1973, phạm vi kết nối vươn khỏi biên giới nước Mỹ, sang đến nước Anh Na Uy Vào cuối năm 70, nhiều giao thức truyền tin xây dựng để sử dụng mạng ARPNET, giao thức chuẩn hóa vào năm 19811982 Vào ngày 01/01/1983, hoạt động mạng ARPANET chuyển từ giao thức NCP sang giao thức TCP/IP giao thức TCP/IP sử dụng từ Cũng năm 1983, người ta bắt đầu gọi ARPANET Internet Tuy nhiên, vào năm 1984, đối thủ ARPANET xuất hiện, mạng NFSNet xây dựng Quỹ khoa học quốc gia Mỹ (NSF - National Science Foundation) Mạng cấu thành từ nhiều mạng nhỏ, kết nối trường đại học với Trong vịng năm có khoảng 10 nghìn máy tính kết nối vào mạng Điều khiến cho NSFNet có băng thơng lớn hẳn so với ARPANET, tên gọi "Internet" dần chuyển từ ARPANET sang cho NSFNet Đến năm 1990 ARPANET hồn tồn ngừng hoạt động, nhường chỗ cho NSFNet, tức Internet1 World Wide Web (gọi tắt web) thức xuất Internet vào năm 1991 Có thể nói cách mạng Internet nhờ mà người ta truy cập, trao đổi thơng tin cách dễ dàng Mặc dù đời muộn so với Internet, nhờ web mà Internet trở nên phổ biến ngày Nhiệm vụ ban đầu web cung cấp thông tin, liệu cách nhanh chóng, thuận tiện từ người có đến người cần Cùng với phát triển khoa học công nghệ, bên cạnh việc cung cấp thông tin, liệu, ngày web cung cấp dịch vụ (dịch vụ tin học văn phòng trực tuyến, dịch vụ thư điện tử, ) cịn đóng vai trị mơi trường thực giao dịch thương mại Nói đến web, khơng thể khơng nói đến khái niệm: webpage, website, web application, web server, web client web browser Hình Giới thiệu chung xây dựng ứng dụng web an toàn.1 Các thực thể World Wide Web Web server (máy chủ web) thường dùng với hai nghĩa Nghĩa thứ máy tính (hoặc cụm máy tính) vật lý mà website hoạt động Ở đây, tên gọi Internet phải viết hoa Nếu viết thường (internet) có nghĩa liên mạng, tức mạng cấu thành từ nhiều mạng nhỏ, mà không thiết mạng toàn cầu Internet Ngày nay, với phát triển cơng nghệ ảo hóa yếu tố "vật lý" khơng thiết, thay vào máy chủ web (một số) nhiều máy tính ảo hoạt động máy tính vật lý Nghĩa thứ hai để phần mềm (ví dụ Apache, IIS) chạy máy chủ web vật lý, tương tác trực tiếp với web client, đóng vai trị trung gian web client website Web client (máy khách web) dùng với hai nghĩa Nghĩa thứ máy tính vật lý mà từ người dùng truy cập tới website Nghĩa thứ hai phần mềm chạy máy khách web vật lý, thay mặt người dùng gửi truy vấn tới web server hiển thị kết mà web server trả Thông thường, web client web browser (trình duyệt web) Firefox, Chrome, IE, Opera có web client web browser, xây dựng với mục đích đặc biệt, ví dụ để tải website máy mà khơng hiển thị chúng, ví dụ TeleportPro, Httrack Webpage toàn nội dung hiển thị trình duyệt web duyệt địa định Nội dung webpage thường xác định URL mà người dùng yêu cầu Tuy nhiên, điều mang tính tương đối Ngày nay, phần lớn website xây dựng công nghệ web động (dynamic web) Khi đó, điều kiện khác nhau, URL ứng với nội dung khác Điều kiện là: thời điểm duyệt web, tài khoản sử dụng để duyệt web, thao tác mà người dùng thực trình duyệt web Website tập hợp webpage có chung tên miền sở Ví dụ, webpage sau thuộc website: http://example.com/index.php http://example.com/public/resource.php?restype=ebook http://example.com/public/resource.php?restype=application http://example.com/private/admin.php Các webpage có chung tên miền sở example.com Một website gồm webpage, gồm hàng trăm triệu webpage Về nội dung, website chứa nhiều thơng tin dành cho nhiều người cho nhiều mục đích nhu cầu khác Tuy nhiên webpage phục vụ cho mục đích và/hoặc nhu cầu cụ thể Số lượng website Internet đến cuối năm 2012 ước tính vào khoảng 600 triệu; số tương ứng năm 2010 255 triệu ví dụ cho thấy cần thiết Connection Affinity Để truy cập đến dịch vụ FTP, client phải thực hai kết nối đến server, control connection (port 21) để trao đổi command, data connection (thường port 20) để truyền liệu Hay trường hợp ứng dụng web có u cầu xác thực thơng tin phiên làm việc người dùng lưu web server kết nối xuất phát từ người dùng phải xử lý web server 4.4.2.3.Giải pháp thực cân tải Chức máy chủ phân phối tải thực thiết bị chuyên dụng server với phần mềm thích hợp Tùy thuộc vào nhu cầu, quy mơ khả tài đơn vị sử dụng mà lựa chọn hai giải pháp Thiết bị chuyên dụng thực cân tải thiết bị độc lập module phần cứng chuyên dụng để cắm vào thiết bị khác router, switch Các thiết bị thường làm việc lớp trở xuống mơ hình OSI Có nhiều thiết bị cân tải phát triển hãng có tên tuổi HP, Cissco, F5 Network, Peplink, Citrix Ưu điểm việc sử dụng thiết bị chuyên dụng hiệu cao, tính ổn định cao, khả mở rộng tốt Khả chuyển đổi dự phịng có sẵn cao, server hệ thống bị lỗi dễ dàng thay server khác mà khơng làm ảnh hưởng đến hiệu hoạt động toàn hệ thống Nhược điểm lớn giải pháp giá thành thiết bị cao, tổ chức lớn với khả tài đủ mạnh áp dụng giải pháp vào hệ thống Nhược điểm thứ hai phức tạp vấn đề thiết lập khả lỗ hổng bảo mật chưa phát hiện; tương lai có lỗ hổng bảo mật phát việc cập nhật phần cứng phưc tạp, tốn cập nhật phần mềm Vì tất kết nối chuyển qua cân tải phần cứng nên có lỗi xảy thiết bị cân tải dẫn đến ảnh hưởng tới hoạt động tồn hệ thống Những tổ chức quy mơ vừa phải cân tải cho hệ thống webserver giải pháp cài đặt phần mềm máy chủ Phương pháp kết hợp nhiều server cách chặt chẽ thành server ảo (vitual server) Hiện nay, hầu hết hệ điều hành cho máy chủ hãng Microsoft, IBM, HP cung cấp khả này, số hãng phần mềm khác Veritas 180 (Symantec) cung cấp giải pháp theo hướng Trong Linux, cân tải thực việc sử dụng gói Linux Virtual Server Bên cạnh khả cung cấp hệ điều hành, có phần mềm khác cung cấp giải pháp cân tải, ví dụ: ISA Proxy, Squid, Haproxy Trong Haproxy (sản phẩm mã nguồn mở chạy Linux) giải pháp đánh giá cao sử dụng rộng rãi Ưu điểm giải pháp cân tải dựa phần mềm dễ sử dụng, chia sẻ nhiều tài nguyên hệ thống, theo dõi trạng thái máy chủ nhóm để chia tải hợp lý Một ưu điểm chi phí thấp khả mở rộng tốt cài máy độc lập khả quản trị dễ dàng Nhược điểm lớn giải pháp dịng thường có tính ổn định kém, hiệu thấp, dễ mắc lỗi Đây điều chấp nhận hệ thống địi hỏi tính sẵn sàng cao ngân hàng, tài 4.4.3 Vượt qua lỗi Một ba đặc tính an tồn quan trọng thơng tin tính sẵn sàng (availability), tức người dùng hợp lệ truy xuất thơng tin có nhu cầu Cân tải giải pháp để đảm bảo tính sẵn sàng thông tin trường hợp số lượng người dùng lớn Tuy nhiên, điểm yếu mô hình cân tải nằm máy chủ điều phối tải Nếu máy chủ điều phối tải bị hỏng hoạt động hệ thống bị ngưng trệ Như đề cập mục 4.4.2.3, vai trò điều phối tải đảm nhận phần mềm cài máy chủ thơng thường tính ổn định khơng cao Như vậy, hệ thống yêu cầu tính sẵn sàng cao cần có giải pháp bổ sung để trì hoạt động hệ thống trường hợp máy chủ điều phối tải bị hỏng hóc Một giải pháp sử dụng Failover Cluster, hay gọi High-availability Cluster, HA Cluster 181 Hình Triển khai vận hành an tồn ứng dụng web.67 Failover Cluster Một Failover Cluster thường bao gồm hai máy chủ, gồm máy (primary) máy dự phịng (secondary) Hình Triển khai vận hành an toàn ứng dụng web.67 [111] Trong điều kiện bình thường (khơng có hỏng hóc), có máy đáp ứng u cầu từ phía người dùng, cịn máy dự phòng hoạt động chế độ chờ Đồng thời, máy dự phịng ln theo dõi "nhịp tim" (heartbeat) máy để biết trạng thái hoạt động máy Khi phát thấy máy rơi vào trạng thái hỏng hóc (failure), máy dự phịng chuyển sang hoạt động chế độ đáp ứng yêu cầu người dùng Nhờ đó, yêu cầu người dùng đáp ứng liên tục, không gián đoạn; quản trị hệ thống không cần phải khắc phục cố Failover Cluster hoàn toàn suốt người dùng Người dùng gửi yêu cầu tới địa IP ảo cung cấp không cần biết yêu cầu chuyển cho máy chủ xử lý Hiện có nhiều nhà sản xuất cung cấp giải pháp Failover Cluster, đáng ý phải kể đến giải pháp Failover Cluster kèm hệ điều hành Microsoft Windows Server 2003/2008/2012 Tính Failover Clustering 182 hỗ trợ mạnh mẽ hệ điều hành họ Linux, ví dụ cách sử dụng gói Heartbeat, gói Red Hat Enterprise Linux High Availability Add-On 4.5 NỘI DUNG THỰC HÀNH Thực hành đánh giá an toàn ứng dụng web Thực hành cấu hình an tồn cho máy chủ web Thực hành cấu hình cân tải Thực hành cấu hình failover cluster 4.6 CÂU HỎI ÔN TẬP Những yếu tố ảnh hưởng đến tính an tồn ứng dụng web? Nội dung đánh giá an toàn ứng dụng web So sánh kiểm thử hộp trắng kiểm thử hộp đen Trình bày tính an tồn cung cấp IIS Trình bày tính an tồn cung cấp Apache Trình bày mơ hình DMZ ưu/nhược điểm mơ hình Cân tải gì? Các thuật toán cân tải? Failover clustering gì? 183 TÀI LIỆU THAM KHẢO [1] Joel Scambray, Vincent Liu, Caleb Sima, Hacking Exposed™ Web Applications: Web Application Security Secrets and Solutions, Third Edition, ISBN: 978-1-4398-2356-9, 302pp, CRC Prеss, 2011 [2] Dafydd Stuttard, Marcus Pinto, The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws, 2nd Edition, ISBN: 978-1-118-17522-4, 914pp, Wiley Publishing, 2011 [3] Abhay Bhargav, B V Kumar, Secure Java: For Web Application Development, ISBN: 978-0-07-174042-5, 481pp, McGraw-Hill, 2011 [4] Mark M Burnett, James C Foster, Hacking the Code: ASP.NET Web Application Security, ISBN:1932266658, 2005 [5] EUROSEC, Secure Programming in PHP - White paper, 42pp, 2005 [6] Mike Shema, Seven Deadliest Web Application Attacks, ISBN: 978-159749-543-1, 152pp, Syngress, 2010 [7] Michael Howard et al., 24 Deadly Sins of Software Security, ISBN: 9780-07-162676-7, 433pp, McGraw-Hill, 2010 [8] Justin Clarke, SQL Injection Attacks and Defense, ISBN: 978-1-59749424-3, 494pp, Syngress 2009 [9] Jeremiah Grossman, et al., Cross Site Scripting Attacks: XSS Exploits and Defense, ISBN: 9978-1-59749-154-9, 464pp, Syngress, 2007 [10] Bài giảng Internet Programming, Khoa Khoa học Kỹ thuật máy tính – ĐH Bách Khoa Tp.HCM, http://www.cse.hcmut.edu.vn/~ptvu/ip/ip.html [11] Stephan Ilin, Tăng độ an tồn cho chương trình phần mềm với công cụ Microsoft (Nguyễn Tuấn Anh dịch), //Tạp chí An tồn thơng tin Ban Cơ yếu Chính phủ số 03(019)2011, tr.38-41 [12] Cao Minh Tuấn, Cân tải – giải pháp giảm tải cho máy chủ cung cấp dịch vụ, //Tạp chí An tồn thơng tin Ban Cơ yếu Chính phủ số 02(022)2012, tr.32-34 184 [13] Các ngơn ngữ lập trình CGI - PHP - ASP - JSP tìm hiểu lợi chúng, http://svtm.info/showthread.php?9693-Cac-ngon-ngu-laptrinh-CGI-PHP-ASP-JSP-va-tim-hieu-ve-loi-the-cua-chung [14] Giới thiệu sơ lược kĩ thuật công CROSS-SITE SCRIPTING, http://www.hvaonline.net/hvaonline/posts/list/1754.hva [15] Kỹ thuật công XSS (Cross-Site Scripting) cách phòng chống, http://m0nst3rbee.blogspot.com/2012/07/ky-thuat-tan-cong-xss-crosssite.html [16] Phát Hiện Phòng Chống Sql Injection Và XSS, http://z6.invisionfree.com/phuongvotinh/index.php?showtopic=432 [17] Ứng dụng tập tin htaccess máy chủ Apache, https://powernet.vn/knowledgebase/68-Ung-dung-tap-tin-htaccess-trenmay-chu-Apache.html [18] Tối ưu website với file Htaccess toàn tập, http://root.vn/threads/toi-uu-website-voi-file-htaccess-toan-tap.3923 [19] An toàn với Webserver Apache, http://www.pcworld.com.vn/pcworld/printArticle.asp? atcl_id=5f5e5c5b58575f [20] Kiện toàn bảo mật Apache, http://www.coltech.vnu.edu.vn/UserFiles/File/TaiLieuThamKhao/Mang_ Baomat/Bao%20mat%20apache%20-%20conmale.pdf [21] Tấn cơng CSRF – Mượn gió bẻ măng, http://tek.eten.vn/index.php/tan-cong-csrf-muon-gio-be-mang [22] Bộ giáo trình CEH v7 tiếng Việt số đồ án tốt nghiệp lĩnh vực an ninh mạng, http://viettorrent.vn/torrent-36251-hack-network-sercurity.html [23] CSRF Attack Technical and Secure, http://sinhvienvanlang.com/@rum/showthread.php?t=7311 185 [24] DOM Base XSS Attack, http://forum.whitehat.vn/showthread.php?52Tutorial-DOM-Base-XSS-Attack [25] SQL Injection, http://vi.wikipedia.org/wiki/SQL_injection [26] Lỗi tràn nhớ đệm, http://vi.wikipedia.org/wiki/Lỗi_tràn_bộ_nhớ_đệm [27] Công nghệ cân tải, http://www.vnnic.vn/dns/congnghe/công-nghệ-cân-bằng-tải [28] Lab Linux – Cấu hình webserver Apache, http://www.gocit.vn/bai-viet/lab-linux-cau-hinh-webserver-apache/ [29] Bảo mật web server Apache với mod Security, http://www.hvaonline.net/hvaonline/posts/list/38687.hva [30] Khái niệm Cookie session PHP, http://www.qhonline.info/php-can-ban/26/bai-7 khai-niem-co-ban-vecookie-va-session-trong-php.html [31] Web Programming Languages Popularity 2013, http://highweb.blogspot.com/2013/04/web-programming-languagespopularity.html [32] WASC Threate Classification, 01 January 2010, http://projects.webappsec.org/f/WASC-TC-v2_0.pdf [33] XSS Attack Examples (Cross-Site Scripting Attacks), http://www.thegeekstuff.com/2012/02/xss-attack-examples/ [34] Cross-site Scripting (XSS), https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 [35] Introduction to Cross Site Scripting using WebGoat, http://www.securitydistro.com/security-tutorials/OWASP-Introduction-toXSS-using-WebGoat [36] Amit Klein, DOM Based Cross Site Scripting, 2005, http://www.webappsec.org/projects/articles/071105.html 186 [37] How to prevent cross-site scripting security issues, http://support.microsoft.com/kb/252985/en-us [38] Cross-site request forgery, http://en.wikipedia.org/wiki/Cross-site_request_forgery [39] CSRF, http://www.secpoint.com/csrf.html [40] Form tokens with PHP, http://forum.codecall.net/topic/58268-form-tokens-with-php/ [41] Preventing Cross Site Request Forgery (CSRF), https://www.golemtechnologies.com/articles/csrf [42] Jeremiah Blatz, CSRF: Attack and Defense, White Paper, McAfee 2011, http://www.mcafee.com/us/resources/white-papers/wp-csrf-attackdefense.pdf [43] Anatomy of a Cross-site Request Forgery Attack, http://haacked.com/archive/2009/04/02/anatomy-of-csrf-attack.aspx [44] Cross Site Request Forgery protection (Django project), https://docs.djangoproject.com/en/1.2/ref/contrib/csrf/ [45] INFORMATION_SCHEMA.TABLES, http://www.mssqltips.com/sqlservertutorial/196/informationschematables [46] Chris Anley, Advanced SQL, NGSSoftware Insight Security Research Publication, 2002, http://www.ngssoftware.com/papers/advanced_sql_injection.pdf [47] Chris Anley, (More) Advanced SQL Injection, NGSSoftware Insight Security Research Publication, 2002, http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf [48] Bernardo Damele A.G., SQL Injection: Not Only AND 1=1, http://www.slideshare.net/inquis/sql-injection-not-only-and-11-updated [49] Dmitri Evteev, Methods to Bypass a Web Application Firewall, Positive Technology research, http://www.ptsecurity.com/download/PT-devteev-CC-WAF-ENG.pdf 187 [50] Dmitri Evteev, Methods of quick exploitation of Blind SQL Injection, Positive Technology research, http://www.ptsecurity.com/download/PT-devteev-FAST-blind-SQLInjection.pdf [51] Cameron HotchKies, Blind SQL Injection Automation Techniques, Blackhat Briefings USA, 2004, https://www.blackhat.com/presentations/bh-usa-04/bh-us-04hotchkies/bh-us-04-hotchkies.pdf [52] Stephen Kost, An Introduction to SQL Injection Attacks for Oracle Developers, Jan 2004, http://www.integrigy.com/securityresources/whitepapers/Integrigy_Oracle_SQL_Injection_Attacks.pdf [53] Alexander KornBrust, Bypassing Oracle dbms_assert, Red Database Security, http://www.red-database-security.com/wp/bypass_dbms_assert.pdf [54] David Litchfield, Bypassing Oracle DBMS_ASSERT (in certain situation), July 2008, http://www.databasesecurity.com/oracle/Bypassing-DBMS_ASSERT.pdf [55] David Litchfield, Securing PL/SQL Application with DBMS_ASSERT, NGSSoftware Insight Security Research Publication, Oct 2005, http://www.ngssoftware.com/papers/DBMS_ASSERT.pdf [56] David Litchfield, Data-mining with SQL Injection and Inference, NGSSoftware Insight Security Research Publication, Sep 2005, http://www.databasesecurity.com/webapps/sqlinference.pdf [57] Session Prediction, https://www.owasp.org/index.php/Session_Prediction [58] Session Fixation, https://www.owasp.org/index.php/Session_fixation 188 [59] Content Spoofing, https://www.owasp.org/index.php/Content_Spoofing [60] HTTP Response Splitting, https://www.owasp.org/index.php/HTTP_Response_Splitting [61] LDAP injection, https://www.owasp.org/index.php/LDAP_injection [62] Insufficient Anti-automation, http://projects.webappsec.org/w/page/13246938/Insufficient%20Antiautomation [63] Insufficient Process Validation, http://projects.webappsec.org/w/page/13246943/Insufficient%20Process %20Validation [64] Path Traversal, https://www.owasp.org/index.php/Path_Traversal [65] Cookies in ASP.NET, http://www.codeproject.com/Articles/244904/Cookies-in-ASP-NET [66] Working with Cookie in JSP, http://www.zentut.com/jsp-tutorial/jsp-cookie/ [67] Rahul Rajat Singh, A Beginner's Tutorial on ASP.NET State Management, http://www.codeproject.com/Articles/331962/A-Beginners-Tutorial-on-ASP-NET-State-Management [68] Rahul Rajat Singh, Understanding Session Management Techniques in ASP.NET, http://www.codeproject.com/Articles/416137/UnderstandingSession-Management-Techniques-in-ASP [69] Octavia Andreea Anghel, A Guide to Cryptography in PHP, http://www.devx.com/webdev/Article/37821 [70] Stanford Javascript Crypto Library, http://crypto.stanford.edu/sjcl/ 189 [71] BEAST and CRIME, http://www.ietf.org/proceedings/85/slides/slides-85-saag-1 [72] Transport Layer Security, http://en.wikipedia.org/wiki/Transport_Layer_Security [73] Octavia Andreea Anghel, A Guide to Cryptography in PHP, 2008 http://www.devx.com/webdev/Article/37821 [74] Enrico Zimuel, Strong cryptography in PHP, http://www.zimuel.it/strong-cryptography-in-php/ [75] Enrico Zimuel, Encrypt session data in PHP, http://www.zimuel.it/encrypt-php-session-data/ [76] E Zimuel, Cryptography in PHP How to protect sensitive data in PHP using cryptography, Web & PHP Magazine, Issue 2/2012, pp.16-23 [77] IIS Client Certificate Mapping Authentication, http://www.iis.net/configreference/system.webserver/security/authenticati on/iisclientcertificatemappingauthentication [78] Client Certificate Mapping Authentication, http://www.iis.net/configreference/system.webserver/security/authenticati on/clientcertificatemappingauthentication [79] Why is nobody using SSL client certificates, http://pilif.github.io/2008/05/why-is-nobody-using-ssl-client-certificates/ [80] Using client certificate authentication, http://ace.apache.org/dev-doc/design/using-client-certificates.html [81] Certificate based authentication vs Username and Password authentication, http://security.stackexchange.com/questions/3605/certificate-basedauthentication-vs-username-and-password-authentication [82] Data Filtering, http://www.php.net/manual/en/book.filter.php 190 [83] PHP Filter, http://www.w3schools.com/php/php_filter.asp [84] Security, http://www.php.net/manual/en/security.php [85] PHP Built in Input filtering, http://devzone.zend.com/703/php-built-in-input-filtering/ [86] How to Prevent Denial of Service (DoS) Attack, http://www.ids-sax2.com/articles/PreventDosAttacks.htm [87] WinNuke, http://en.wikipedia.org/wiki/WinNuke [88] Understanding WinNuke Attacks, http://www.juniper.net/techpubs/software/junos-security/junossecurity95/junos-security-swconfig-security/id-68302.html [89] Ping of Death, http://en.wikipedia.org/wiki/Ping_of_death [90] Understanding Teardrop Attacks, http://www.juniper.net/techpubs/software/junos-es/junos-es93/junos-esswconfig-security/understanding-teardrop-attacks.html [91] Understanding Land Attacks, http://www.juniper.net/techpubs/en_US/junos12.1/topics/concept/denialof-service-network-land-attack-understanding.html [92] Configure Web Server Security (IIS 7), http://technet.microsoft.com/enus/library/cc731278%28v=ws.10%29.aspx [93] UrlScan 2.5 Features Compared to IIS 6.0 Built-in Features, http://technet.microsoft.com/en-us/security/cc242650 [94] How to configure a website to use impersonation in IIS 7.0, http://www.techulator.com/resources/5237-how-configure-website-useimpersonation.aspx 191 [95] Understanding ASP.NET Impersonation Security, http://www.west-wind.com/weblog/posts/2005/May/18/UnderstandingASPNET-Impersonation-Security [96] Using ASP.NET Forms Authentication, http://www.iis.net/learn/application-frameworks/building-and-runningaspnet-applications/using-aspnet-forms-authentication [97] Writing a simple ISAPI Filter, http://blogs.msdn.com/b/rakkimk/archive/2007/03/01/writing-a-simpleisapi-filter.aspx [98] Apache Authentication and Authorization, http://httpd.apache.org/docs/2.2/howto/auth.html [99] Apache Security Tips, http://httpd.apache.org/docs/2.2/misc/security_tips.html [100] Apache 2.0 Hardening Guide, http://xianshield.org/guides/apache2.0guide.html [101] Security configurations for Apache, http://jelastic.com/docs/apache-security-configurations [102] 10 things you should to secure Apache, http://www.techrepublic.com/blog/10things/10-things-you-should-do-tosecure-apache/477 [103] 20 ways to Secure your Apache Configuration, http://www.petefreitag.com/item/505.cfm [104] ModSecurity official website, http://www.modsecurity.org/ [105] Announcing the availability of ModSecurity extension for IIS, http://blogs.technet.com/b/srd/archive/2012/07/26/announcing-theavailability-of-modsecurity-extension-for-iis.aspx 192 [106] Secure Architecture for an SQL / Web Server, http://www.windowsecurity.com/articles-tutorials/ web_server_security/Secure_Architecture_SQL_Web_Server.html [107] NIST, Guidelines on Securing Public Web Servers, Sep 2007, http://csrc.nist.gov/publications/nistpubs/800-44-ver2/SP800-44v2.pdf [108] Public DMZ network architecture, http://security.stackexchange.com/questions/13556/public-dmz-networkarchitecture [109] Load Balancing, http://networksandservers.blogspot.com/search/label/Load Balancing [110] High-availability cluster, http://en.wikipedia.org/wiki/High-availability_cluster [111] Failover Clustering, http://networksandservers.blogspot.com/2011/04/failover-clustering-i.html [112] Building a Two-Node Linux Cluster with Heartbeat, http://www.linuxjournal.com/article/5862 [113] Configuring Red Hat High Availability Add-On, https://access.redhat.com/site/documentation/enUS/Red_Hat_Enterprise_Linux/6/html/Cluster_Administration/ch-configcli-CA.html [114] Low Orbit Ion Cannon, http://en.wikipedia.org/wiki/LOIC [115] Source Code Analysis Tools, https://www.owasp.org/index.php/Source_Code_Analysis_Tools [116] Testing: Introduction and objectives, https://www.owasp.org/index.php/Testing:_Introduction_and_objectives [117] Black box penetration testing vs white box penetration testing, http://www.secforce.com/blog/2008/11/black-box-penetration-testing-vswhite-box-penetration-testing/ 193 [118] Классификация угроз безопасности Web-приложений, http://www.infosecurity.ru/iprotect/websec/classification/ 194 ... khái niệm: webpage, website, web application, web server, web client web browser Hình Giới thiệu chung xây dựng ứng dụng web an toàn.1 Các thực thể World Wide Web Web server (máy chủ web) thường... thiệu chung xây dựng ứng dụng web an tồn.2 Hình Giới thiệu chung xây dựng ứng dụng web an toàn.3 Các truy vấn tới web server duyệt file index.html Như vậy, để hiển thị đầy đủ nội dung webpage,... nạn nhân 18 Hình Giới thiệu chung xây dựng ứng dụng web an tồn.5 Ví dụ gán ghép định danh phiên làm việc Hình Giới thiệu chung xây dựng ứng dụng web an toàn.5 thể công gán ghép định danh phiên

Ngày đăng: 02/10/2021, 19:50

Từ khóa liên quan

Mục lục

  • Chương 1. Giới thiệu chung về xây dựng ứng dụng web an toàn

    • 1.1. Ứng dụng web

    • 1.2. Giao thức HTTP

      • 1.2.1. Truy vấn HTTP

      • 1.2.2. Phản hồi HTTP

      • 1.2.3. Phương thức HTTP

      • 1.2.4. Cookie và Session

        • 1.2.4.1. Cookie

        • 1.2.4.2. Session

        • 1.2.5. HTTPS

        • 1.3. Ngôn ngữ HTML và các thành phần của trang web

        • 1.4. Ngôn ngữ lập trình web

        • 1.5. Hiểm họa an toàn ứng dụng web

          • 1.5.1. Nhóm hiểm họa xác thực

          • 1.5.2. Nhóm hiểm họa trao quyền

          • 1.5.3. Nhóm hiểm họa tấn công lên máy khách

          • 1.5.4. Nhóm hiểm họa thực thi câu lệnh

          • 1.5.5. Nhóm hiểm họa làm lộ thông tin

          • 1.5.6. Nhóm hiểm họa tấn công logic

          • 1.6. Quy trình xây dựng ứng dụng web an toàn

          • 1.7. Câu hỏi ôn tập

          • Chương 2. Các tấn công ứng dụng web thường gặp và cách phòng tránh

            • 2.1. Tấn công XSS

              • 2.1.1. Ví dụ về XSS

              • 2.1.2. Phân loại XSS

              • 2.1.3. Khả năng của XSS

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

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

Tài liệu liên quan