BÁO CÁO ĐỒ ÁN CUỐI KÌ BẢO MẬT WEB ĐỀ TÀI: WEBSITE BÁN HÀNG TẠP HÓA Sinh viên thực hiện: Nhóm 1 Giảng viên hướng dẫn: ThS. Lê Thị Minh Châu TP. HỒ CHÍ MINH – THÁNG 07 NĂM 2020 ĐH SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ****** CỘNG HÒA XHCN VIỆT NAM Độc lập – Tự do – Hạnh phúc ****** PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ và tên Sinh viên 1: MSSV 1: Họ và tên Sinh viên 2: MSSV 2: Chuyên ngành: Công nghệ phần mềm Tên đề tài: WEBSITE BÁN HÀNG TẠP HÓA Họ và tên giảng viên hướng dẫn: ThS. Lê Thị Minh Châu NHẬN XÉT 1. Về nội dung đề tài và khối lượng thực hiện ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 2. Ưu điểm ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 3. Khuyết điểm ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 4. Đánh giá loại: ………………………………………………………………………….................... 5. Điểm: ……………………………………………………………………………………… TP. Hồ Chí Minh, ngày…tháng…năm 2020 Giảng viên hướng dẫn (Ký & ghi rõ họ tên) LỜI CẢM ƠN Nhóm thực hiện đề tài xin chân thành cảm ơn Cô Lê Thị Minh Châu – giáo viên khoa Công nghệ thông tin trường Đại học Sư phạm kỹ thuật TP.HCM, đã giúp đỡ chúng em rất nhiều trong việc lựa chọn đề tài, hướng dẫn thực hiện, nêu ý kiến nhận xét, cung cấp tài liệu tham khảo trong quá trình thực hiện đề tài. Chúng em còn gửi lời cảm ơn đến quý thầy cô khoa Công nghệ thông tin trường đã giúp đỡ, giải đáp thắc mắc trong quá trình thực hiện. Đồng thời cảm ơn các anh chị khóa trước đã cung cấp nhiều thông tin, tài liệu tham khảo; các bạn cùng khóa cùng nhau trao đổi kinh nghiệm để thực hiện đề tài tốt hơn. Nhóm chúng em rất mong nhận được những ý kiến đóng góp của quý thầy cô và các bạn để đề tài ngày càng hoàn thiện. Xin chân thành cảm ơn! Nhóm thực hiện đề tài. TP.HCM, ngày 1 tháng 07 năm 2020 Nhóm SV thực hiện MỤC LỤC PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2 LỜI CẢM ƠN 3 MỤC LỤC 1 1. MỤC ĐÍCH - YÊU CẦU - TỔNG QUAN 4 2. TRÌNH BÀY BÀI TẬP LỚN 5 2.1 Phân tích yêu cầu 5 2.2 Thiết kế chức năng 6 2.2.1 Nhận diện từng tác nhân và chức năng trong sơ đồ 6 2.2.2 Các lược đồ Usecase 9 2.2.3 Đặc tả các Usecase 13 2.3 Thiết kế giao diện 19 2.3.1 Màn hình trang chủ 24 2.3.2 Màn hình chi tiết sản phẩm 25 2.3.3 Màn hình giỏ hàng 25 2.3.4 Màn hình xác nhận đã đặt hàng 26 2.3.5 Màn hình đăng nhập 26 2.3.6 Màn hình Quên mật khẩu 26 2.3.7 Màn hình Quản lý tài khoản - Thông tin 27 2.3.8 Màn hình Quản lý tài khoản - Đổi mật khẩu 27 2.3.9 Màn hình Quản lý loại mặt hàng và các màn hình liên quan 27 2.3.10 Màn hình Quản lý mặt hàng và các màn hình liên quan 29 2.3.11 Màn hình Quản lý Tag và các màn hình liên quan 31 2.3.12 Màn hình Quản lý nhà cung cấp và các màn hình liên quan 32 2.3.13 Màn hình Quản lý sản phẩm và các màn hình liên quan 34 2.3.14 Màn hình Quản lý nhân viên và các màn hình liên quan 36 2.3.15 Màn hình Quản lý đơn hàng và các màn hình liên quan 37 2.4 Thiết kế cơ sở dữ liệu 39 2.4.1 ERD 39 2.4.2 Lược đồ quan hệ 40 2.5 Thiết kế code 41 2.5.1 Area 43 2.5.2 Data 61 2.5.3 Extensions 62 2.5.4 Models 65 2.5.5 TagHelpers 67 2.5.6 Utility 68 2.5.7 ViewComponents 68 2.5.8 Views 69 3. CÀI ĐẶT MÔI TRƯỜNG 71 3.1 SQL Server 71 3.1.1 Download SQL Server 71 3.1.2 Cài đặt SQL Server 74 3.2 Visual Studio 85 3.2.1 Download Visual Studio 2019 85 3.1.1 Cài đặt Visual Studio 86 4. CHẠY CHƯƠNG TRÌNH 91 1. Cài đặt CSDL 91 2. Cấu hình project trong Visual Studio 100 3. Deploy và Host project với IIS trên Windows. 105 4. Nâng cao tính bảo mật của trang sử dụng Secure Socket Layer SSL. 126 5. CÁC LỖI BẢO MẬT – NGUYÊN NHÂN – GIẢI PHÁP NGĂN CHẶN CŨNG NHƯ CHỈNH SỬA CÁC LỖI XUẤT HIỆN TRONG PROJECT 134 5.1 Phương pháp thủ công với các lỗi bảo mật thông dụng 134 5.1.2. Broken Authentication: 137 5.1.3. Sensitive Data Exposure: 140 5.1.4. XML External Entities (XXE): 140 5.1.5. Broken Access Control: 142 5.1.6. Security Misconfiguration: 145 5.1.7. Cross-Site Scripting (XSS): 146 5.1.8. Insecure Deserialization: 147 5.1.9. Using Components with Known Vulnerabilities: 148 5.1.10. Insufficent Logging & Monitoring: 149 5.2 Sử dung các công cụ quét lỗ hỏng bảo mật web 151 5.2.1 SQLMap 151 5.2.2 OWASP Zed Attack Proxy (OWASP ZAP) 155 5.2.3 Burp Suite Professsional 163 BẢNG PHÂN CÔNG CÔNG VIỆC 170 TÀI LIỆU THAM KHẢO 171 1. MỤC ĐÍCH - YÊU CẦU - TỔNG QUAN Mục đích: - Tìm hiểu, phát hiện các lỗ hổng có thể tấn công vào trang web sau đó tiến hành kiểm thử và sửa lỗ hổng đó. Yêu cầu: - Hiểu rõ được các phương thức tấn công, kiểm thử các tấn công đó và sửa thành công các lỗ hổng phát sinh. Tổng quan về trang web: - Website được phát triển bằng ASP.NET Core MVC của Microsoft và sử dụng phương pháp Code first để thiết kế và xây dựng thành 1 website phục vụ kinh doanh online cho một cửa hàng tạp hóa. - Người quản trị và nhân viên sẽ có thể thông qua website để nhận đơn hàng qua đó dễ dàng quản lí đơn hàng và có thể chuẩn bị sản phẩm trước cho khách hàng nhằm tiết kiệm thời gian cho khách hàng. Đồng thời, website sẽ là phương tiện quảng bá hình ảnh và giới thiệu sản phẩm cho các khách hàng chưa có điều kiện đến xem tại cửa hàng.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM - - BÁO CÁO ĐỒ ÁN CUỐI KÌ BẢO MẬT WEB ĐỀ TÀI: WEBSITE BÁN HÀNG TẠP HÓA Sinh viên thực hiện: Nhóm Giảng viên hướng dẫn: ThS Lê Thị Minh Châu TP HỒ CHÍ MINH – THÁNG 07 NĂM 2020 ĐH SƯ PHẠM KỸ THUẬT TP.HCM KHOA CƠNG NGHỆ THƠNG TIN ****** CỘNG HỊA XHCN VIỆT NAM Độc lập – Tự – Hạnh phúc ****** PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ tên Sinh viên 1: MSSV 1: Họ tên Sinh viên 2: MSSV 2: Chuyên ngành: Công nghệ phần mềm Tên đề tài: WEBSITE BÁN HÀNG TẠP HÓA Họ tên giảng viên hướng dẫn: ThS Lê Thị Minh Châu NHẬN XÉT Về nội dung đề tài khối lượng thực ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………… Ưu điểm ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………… Khuyết điểm ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………… Đánh giá loại: ………………………………………………………………………… Điểm: ……………………………………………………………………………………… TP Hồ Chí Minh, ngày…tháng…năm 2020 Giảng viên hướng dẫn (Ký & ghi rõ họ tên) Website bán hàng tạp hóa LỜI CẢM ƠN Nhóm thực hiện đề tài xin chân thành cảm ơn Cô Lê Thị Minh Châu – giáo viên khoa Công nghệ thông tin trường Đại học Sư phạm kỹ thuật TP.HCM, đã giúp đỡ chúng em rất nhiều việc lựa chọn đề tài, hướng dẫn thực hiện, nêu ý kiến nhận xét, cung cấp tài liệu tham khảo trình thực hiện đề tài Chúng em còn gửi lời cảm ơn đến quý thầy cô khoa Công nghệ thông tin trường đã giúp đỡ, giải đáp thắc mắc trình thực hiện Đồng thời cảm ơn anh chị khóa trước đã cung cấp nhiều thông tin, tài liệu tham khảo; bạn cùng khóa cùng trao đổi kinh nghiệm để thực hiện đề tài tốt Nhóm chúng em rất mong nhận được những ý kiến đóng góp của quý thầy bạn để đề tài ngày hồn thiện Xin chân thành cảm ơn! Nhóm thực hiện đề tài TP.HCM, ngày tháng 07 năm 2020 Nhóm SV thực hiện Website bán hàng tạp hóa MỤC LỤC PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN .2 LỜI CẢM ƠN .3 MỤC LỤC .1 MỤC ĐÍCH - YÊU CẦU - TỔNG QUAN .4 TRÌNH BÀY BÀI TẬP LỚN 2.1 Phân tích yêu cầu 2.2 Thiết kế chức .6 2.2.1 Nhận diện tác nhân chức sơ đồ .6 2.2.2 Các lược đồ Usecase 2.2.3 Đặc tả Usecase .13 2.3 Thiết kế giao diện .19 2.3.1 Màn hình trang chủ 24 2.3.2 Màn hình chi tiết sản phẩm .25 2.3.3 Màn hình giỏ hàng 25 2.3.4 Màn hình xác nhận đặt hàng 26 2.3.5 Màn hình đăng nhập 26 2.3.6 Màn hình Quên mật 26 2.3.7 Màn hình Quản lý tài khoản - Thông tin .27 2.3.8 Màn hình Quản lý tài khoản - Đổi mật 27 2.3.9 Màn hình Quản lý loại mặt hàng hình liên quan 27 2.3.10 Màn hình Quản lý mặt hàng hình liên quan 29 2.3.11 Màn hình Quản lý Tag hình liên quan .31 2.3.12 Màn hình Quản lý nhà cung cấp hình liên quan 32 2.3.13 Màn hình Quản lý sản phẩm hình liên quan 34 2.3.14 Màn hình Quản lý nhân viên hình liên quan 36 2.3.15 Màn hình Quản lý đơn hàng hình liên quan 37 2.4 Thiết kế sở liệu .39 2.4.1 ERD .39 2.4.2 Lược đồ quan hệ 40 2.5 Thiết kế code .41 2.5.1 Area .43 Website bán hàng tạp hóa 2.5.2 Data .61 2.5.3 Extensions 62 2.5.4 Models 65 2.5.5 TagHelpers 67 2.5.6 Utility 68 2.5.7 ViewComponents .68 2.5.8 Views 69 CÀI ĐẶT MÔI TRƯỜNG .71 3.1 SQL Server 71 3.1.1 Download SQL Server 71 3.1.2 Cài đặt SQL Server 74 3.2 Visual Studio .85 3.2.1 Download Visual Studio 2019 85 3.1.1 Cài đặt Visual Studio 86 CHẠY CHƯƠNG TRÌNH .91 Cài đặt CSDL 91 Cấu hình project Visual Studio 100 Deploy Host project với IIS Windows 105 Nâng cao tính bảo mật trang sử dụng Secure Socket Layer SSL 126 CÁC LỖI BẢO MẬT – NGUYÊN NHÂN – GIẢI PHÁP NGĂN CHẶN CŨNG NHƯ CHỈNH SỬA CÁC LỖI XUẤT HIỆN TRONG PROJECT 134 5.1 Phương pháp thủ công với lỗi bảo mật thông dụng 134 5.1.2 Broken Authentication: 137 5.1.3 Sensitive Data Exposure: .140 5.1.4 XML External Entities (XXE): .140 5.1.5 Broken Access Control: 142 5.1.6 Security Misconfiguration: 145 5.1.7 Cross-Site Scripting (XSS): 146 5.1.8 Insecure Deserialization: .147 5.1.9 Using Components with Known Vulnerabilities: .148 5.1.10 Insufficent Logging & Monitoring: 149 5.2 Sử dung công cụ quét lỗ hỏng bảo mật web 151 5.2.1 SQLMap 151 Website bán hàng tạp hóa 5.2.2 OWASP Zed Attack Proxy (OWASP ZAP) 155 5.2.3 Burp Suite Professsional 163 BẢNG PHÂN CÔNG CÔNG VIỆC .170 TÀI LIỆU THAM KHẢO .171 Website bán hàng tạp hóa Mục đích – u cầu – Tổng quan Trang MỤC ĐÍCH - YÊU CẦU - TỔNG QUAN Mục đích: - Tìm hiểu, phát lỗ hổng cơng vào trang web sau tiến hành kiểm thử sửa lỗ hổng Yêu cầu: - Hiểu rõ phương thức công, kiểm thử cơng sửa thành cơng lỗ hổng phát sinh Tổng quan trang web: - Website phát triển ASP.NET Core MVC Microsoft sử dụng phương pháp Code first để thiết kế xây dựng thành website phục vụ kinh - doanh online cho cửa hàng tạp hóa Người quản trị nhân viên thơng qua website để nhận đơn hàng qua dễ dàng quản lí đơn hàng chuẩn bị sản phẩm trước cho khách hàng nhằm tiết kiệm thời gian cho khách hàng Đồng thời, website phương tiện quảng bá hình ảnh giới thiệu sản phẩm cho khách hàng chưa có điều kiện đến xem cửa hàng Website bán hàng tạp hóa Trình bày tập lớn Trang TRÌNH BÀY BÀI TẬP LỚN 2.1 Phân tích yêu cầu Các chức website: Website đảm bảo yếu tố xác thực phân quyền như: nhân viên, người quản trị có tài khoản riêng, nhân viên truy cập trang người quản trị, người quản trị khóa tài khoản nhân viên nhân viên quản lí đơn hàng giao cho Chức khách hàng: - Xem danh sách sản phẩm cửa hàng - Tạo đơn đặt hàng với thông tin sản phẩm cần mua, thông tin liên lạc ngày nhận hàng Chức người quản trị: - Quản lí danh sách sản phẩm website thơng qua việc quản lí danh mục: loại mặt hàng (Thực phẩm, đồ uống, đồ dùng gia đình…), mặt hàng (mì, bánh ngọt, đồ uống có gas, nước ngọt, bàn chải, kem đánh răng…) sản phẩm (gói mì Hảo Hảo, thùng mì Hảo Hảo, bánh mì Kinh Đơ vị dứa, bánh mì - Kinh vị bơ…) Quản lí danh sách Tag (được gắn cho sản phẩm với Tag thông dụng - Hot, New, Sale…) Quản lí danh sách Nhà cung cấp Quản lí danh sách Nhân viên tạo tài khoản cho Nhân viên Quản lí danh sách Đơn hàng: xem, duyệt giao đơn cho Nhân viên Quản lí tài khoản cá nhân: đổi mật khẩu, đổi email liên lạc, xác nhận email để phục hồi mật Chức nhân viên: - Quản lí danh sách đơn hàng định cho để qua thơng tin đơn hàng - liên hệ khách hàng xác nhận đơn chuẩn bị sản phẩm Quản lí tài khoản cá nhân: đổi mật khẩu, đổi email liên lạc, xác nhận email để phục hồi mật Website bán hàng tạp hóa Trình bày tập lớn Trang 2.2 Thiết kế chức 2.2.1 Nhận diện tác nhân chức sơ đồ Tên tác nhân Khách hàng Chức - Đăng nhập - Thêm hàng vào giỏ - Bỏ hàng khỏi giỏ - Thanh toán - Quên mật (Khôi phục mật - Nhân viên Người quản trị Website bán hàng tạp hóa - khẩu) Quản lý đơn hàng o Xem danh sách đơn hàng o Tìm kiếm đơn hàng o Duyệt đơn hàng o Xóa đơn hàng o Chỉnh sửa thông tin đơn hàng Đổi mật tài khoản Đăng xuất Quản lý đơn hàng o Xem danh sách đơn hàng o Tìm kiếm đơn hàng o Duyệt đơn hàng o Xóa đơn hàng o Chỉnh sửa thông tin đơn - hàng Đổi mật tài khoản Đăng xuất Quản lý loại mặt hàng o Xem danh sách loại mặt - hàng o Thêm loại mặt hàng o Chỉnh sửa loại mặt hàng o Xóa loại mặt hàng Quản lý mặt hàng o Xem danh sách mặt hàng o Thêm mặt hàng o Chỉnh sửa mặt hàng o Xóa mặt hàng Trình bày tập lớn Trang - - - - Quản lý nhà cung cấp o Xem danh sách nhà cung cấp o Thêm nhà cung cấp o Chỉnh sửa nhà cung cấp o Xóa nhà cung cấp Quản lý Tag o Xem danh sách Tag o Thêm Tag o Chỉnh sửa thông tin Tag o Xóa Tag Quản lý nhân viên o Xem danh sách nhân viên o Thêm nhân viên o Chỉnh sửa thơng tin nhân viên o Xóa nhân viên Quản lý sản phẩm o Xem danh sách sản phẩm o Thêm sản phẩm o Chỉnh sửa thông tin sản phẩm o Xóa sản phẩm Website bán hàng tạp hóa Bảng phân công công việc Trang 159 Ý tưởng kĩ thuật sau: bạn tạo frame “tàng hình” trang, đưa vào focus điều hướng để người dùng thao tác với Là kẻ cơng, bạn hồn tồn lừa người dùng chơi game trình duyệt, bí mật ghi lại click họ vào iframe hiển thị twitter, buộc họ retweet tất tweets bạn mà họ không hay biết Phương thức mà hacker khai thác người dùng click vào link nhúng gọi Clickjacking Để hạn chế, chặn việc sử dụng iframe, sử dụng tham số “X-FrameOptions” HTTP response header cấu hình web server X-Frame-Options có chế độ sau: - DENY – Khơng đặt trang vào iframe SAMEORIGIN – Trang hiển thị iframe tạo - nguồn (same origin) với ALLOW-FROM – Chỉ định đường dẫn url đặt trang vào iframe Cảnh báo này, ta chưa set giá trị X-Frame-Options header cho response web server Do đó, kẻ cơng lợi dụng cơng phương pháp Clickjacking Để xử lý cảnh báo này, ta thêm header vào Response server cách chỉnh sửa code sau: Trong class Startup.cs, phương thức Configure ta thêm đoạn code sau: Kết sau thêm header: Website bán hàng tạp hóa Bảng phân công công việc Trang 160 Cảnh báo liên quan đến X-Frame-Options khơng cịn Incomplete or No Cache-control and Pragma HTTP Header Set Cache-control HTTP header sử dụng để xác định sách caching trình duyệt phía client request server response Chính sách bao gồm cách tài nguyên cached, nơi cached tuổi thọ Cảnh báo có Response Cache-control header set incomplete chưa set cách đầy đủ Như trường hợp ta, hai response từ server CDN có set nội dung Cache-control nhiên chưa đủ yếu tố mà OWASP ZAP cần cảnh báo Website bán hàng tạp hóa Bảng phân cơng cơng việc X-Content-Type-Options Header Missing Vấn đề: Website bán hàng tạp hóa Trang 161 Bảng phân công công việc Trang 162 Trước tiên, ta tìm hiểu X-Content-Type-Optins header Vấn đề mà header cố giải “MIME sniffing” mà thực “tính năng” trình duyệt Về lý thuyết lần server bạn trả lời request phải thiết lập ContentType header để báo với trình duyệt nhận HTML ảnh gif game Flash từ năm 2008 Tuy nhiên, web khơng đồng theo sát spec cố định, vào ngày người chưa biết cách để thiết lập content type header cách Vì lý đó, nhà sản xuất trình duyệt web định họ thêm vào tính hữu ích: đốn xem nội dung nhận bỏ qua định content type header Nếu thứ nhận trông giống ảnh gif, ta hiển thị ảnh gif content type text/html Tương tự, trơng giống HTML, ta hiển thị HTML, cho dù server bảo ảnh gif Thật tuyệt vời…cho đến bạn chạy trang chia sẻ ảnh người dùng up lên file ảnh mà trơng giống HTML có kèm thêm javascript bên Bùm !, trang bạn bị dính XSS ! (chính xác stored XSS) X-Content-Type-Options headers xuất để bảo với trình duyệt rằng: “Hãy đặt content type theo tơi bảo.” Cách giải quyết: Và để xử lí cảnh báo này, ta thêm header X-Content-Type-Options cho Reponse server Cũng tương tự thêm header X-Frame-Options, ta sửa nội dung mã nguồn server Cụ thể class Startup.cs, phương thức Configure (đoạn ta thêm X-FrameOptions) ta thêm sau: Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 163 \ Kết sau thêm header: Cảnh báo liên quan đến X-Content-Type-Options giảm xuống từ 10 Các cảnh báo lại từ reponse server CDN ta sử dụng web server ta đó, ta khơng thể xử lí cảnh báo Website bán hàng tạp hóa Bảng phân công công việc Trang 164 5.2.3 Burp Suite Professsional Burp Suite hiểu ứng dụng tích hợp nhiều tính phục vụ kiểm tra tính bảo mật ứng dụng web Các tính phục vụ kiểm tra bảo mật thành phần khác ứng dụng web đại ngày Burp Suite giúp người dùng đánh giá tiêu chí bảo mật web như: Tiến hành kiểm tra chế xác thực, kiểm tra vấn đề phiên người dùng hay liệt kê đánh giá tham số đầu vào ứng dụng trang web Chương trình khơng hỗ trợ mạnh mẽ quy trình đánh giá bảo mật thủ cơng mà chúng cịn bao gồm công cụ quét lỗ hổng bảo mật SSL số bảo mật khác tích hợp sẵn phiên có phí Cơng cụ phát triển cơng ty PortSwigger Ltd phân phối Burp Suite có nhiều tính thú vị: - Interception Proxy: thiết kế để bắt request gửi lên server Repeater: cho phép sửa đổi nội dung request cách nhanh chóng Intruder: tự động hóa việc gửi payloads lên server Decoder: decode encode string theo format khác (URL, Base64, - HTML,…) Comparer: khác requests/responses Website bán hàng tạp hóa Bảng phân công công việc Trang 165 - Extender: API để mở rộng chức Burp Suite Bạn download - extensions thông qua Bapp Store Spider & Discover Content: crawl link có ứng dụng web Scanner (chỉ có Pro): tự động quét lỗ hổng ứng dụng web (XSS, SQLi, Command Injection, File Inclusion,…) Quét thử trang với giao thức http Burp Suite Proferssional ta thấy số Issues sau: - Cleartext submission of password Password field with autocomplete enabled Unencrypted communications Website bán hàng tạp hóa Bảng phân cơng công việc Trang 166 Password field with autocomplete enabled Vấn đề: Hầu hết trình duyệt có phương tiện để ghi nhớ thông tin đăng nhập người dùng nhập vào biểu mẫu HTML Chức cấu hình người dùng ứng dụng sử dụng thông tin đăng nhập người dùng Nếu chức bật, thơng tin đăng nhập người dùng nhập lưu trữ máy tính cục họ trình duyệt truy xuất lần truy cập tương lai vào ứng dụng Thông tin đăng nhập lưu trữ bị lộ kẻ cơng giành quyền kiểm sốt máy tính người dùng Hơn nữa, kẻ cơng sử dụng XSS khai thác điều để lấy thông tin đăng nhập trình duyệt Cách giải quyết: Để ngăn trình duyệt lưu thông tin xác thực nhập vào biểu mẫu HTML, ta thêm thuộc tính autocomplete = "off" thẻ FORM (để bảo vệ tất trường Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 167 biểu mẫu) thẻ INPUT có liên quan (để bảo vệ trường riêng biệt trường mật khẩu) Đối với project: ta thêm thuộc tính autocomplete=”off” tag INPUT mật hình đăng nhập Kết sau sửa: Issue password field with autocomplete enabled khơng cịn Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 168 Cleartext submission of password Vấn đề: Issue xuất ứng dụng ta truyền mật qua kết nối khơng mã hóa khiến dễ dàng bị chặn khai thác Kẻ cơng lợi dụng tình mà client liên lạc với server qua kết nối khơng đảm bảo an tồn Wifi công cộng, mạng công ty, mạng cá nhân mạng lại có máy tính bị xâm nhập Kẻ công ấn giấu ISP sở hạ tầng host ứng dụng khai thác Lỗ hỏng làm lộ mật người dùng để truy vấn kẻ cơng khó audit trails bị che khuất Kể ứng dụng liệu khơng thật quan trọng việc mật mà người dùng sử dụng bị lộ nguy hiểm, thơng thường ta đặt mật giống nhiều ứng dụng Cách giải quyết: Ứng dụng nên sử dụng mã hóa q trình truyền liệu (SSL TLS) để bảo vệ tất giao tiếp quan trọng, nhạy cảm máy khách máy chủ Những giao tiếp cần Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 169 bảo mật thường liên quan đến việc đăng nhập, xác thực chức liên quan đến liệu nhạy cảm hành động đặc quyền Nếu HTTP cookie sử dụng để truyền session token cờ bảo mật phải set để đảm bảo để liệu không truyền dạng clear-text HTTP Đối với project: để xử lí issue ta nâng cấp giao thức https để mã hóa giao tiếp client server Unencrypted communications Vấn đề: Ứng dụng cho phép người dùng kết nối với qua kết nối khơng mã hóa Kẻ cơng có vị trí thích hợp để xem lưu lượng truy cập mạng hợp pháp người dùng ghi lại giám sát tương tác họ với ứng dụng có thông tin mà người dùng cung cấp Các kết nối khơng mã hóa ISP phủ khai thác để theo dõi người dùng, tiêm quảng cáo JavaScript độc hại Do lo ngại này, nhà cung Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 170 cấp trình duyệt web lên kế hoạch gắn cờ kết nối khơng mã hóa nguy hiểm Cũng tương tự Cleartext submission of password, kẻ công lợi dụng tình mà client liên lạc với server qua kết nối khơng đảm bảo an tồn Wifi công cộng, mạng công ty, mạng cá nhân mạng lại có máy tính bị xâm nhập Kẻ công ấn giấu ISP sở hạ tầng host ứng dụng khai thác Cách giải quyết: Ứng dụng nên sử dụng mã hóa q trình truyền liệu (SSL TLS) để bảo vệ tất giao tiếp quan trọng, nhạy cảm máy khách máy chủ.Nên sử dụng Strict-TranspotSecurity HTTP Header để đảm bảo người dùng từ chối truy cập máy chủ thông qua kết nối khơng an tồn Đối với project: để xử lí issue ta nâng cấp giao thức https để mã hóa giao tiếp client server Kết sau cài đặt chứng SSL sử dụng giao thức https để truy cập trang web: Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 171 Bây ta khơng cịn thấy Issues mã hóa kết nối mà có issues chứng SSL Đó chứng ta sử dụng Self-sign Certificate chưa chứng nhận tin tưởng Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 172 BẢNG PHÂN CƠNG CƠNG VIỆC Tên thành viên Công việc thực - Viết báo cáo phần mục Kết đích, yêu cầu, thiết kế chức, CSDL, cài đặt chạy chương trình - Sử dụng cơng cụ để qt Hồn thành tốt lỗi bảo mật vá lỗi (OWASP ZAP, Burp Suite) - Hoàn thiện báo cáo - Viết báo cáo phần thiết kế giao diện, code - Phân tích áp dụng phương pháp thủ cơng để tìm xử lí lỗi bảo Hồn thành tốt mật thơng dụng - Sử dụng công cụ để quét lỗi bảo mật vá lỗi (SQLMap) - Kiểm tra hoàn thiện báo cáo sau Website bán hàng tạp hóa Bảng phân cơng cơng việc Trang 173 TÀI LIỆU THAM KHẢO Hướng dẫn cài đặt SQL Server 2012: https://o7planning.org/vi/10297/huong-dan-cai-dat-va-cau-hinh-sql-server-express-2012 Tài liệu ASP.NET Core 2.1 Microsoft: https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.1 Tài liệu hướng dẫn host ứng dụng web ASP.NET Core IIS: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1 Thông tin issue: https://portswigger.net/kb/issues/00300100_cleartext-submission-of-password https://portswigger.net/kb/issues/01000200_unencrypted-communications https://portswigger.net/kb/issues/00500800_password-field-with-autocomplete-enabled Tài liệu lỗ hỏng bảo mật OWASP ZAP: https://owasp.org/www-project-topten/OWASP_Top_Ten_2017/ Tài liệu HTTP Header: https://techtalk.vn/tat-ca-nhung-thu-ban-can-biet-ve-httpsecurity-headers.html Website bán hàng tạp hóa ... o Xóa sản phẩm Website bán hàng tạp hóa Trình bày tập lớn 2.2.2 Các lược đồ Usecase Usecase Website Bán hàng tạp hóa Chi tiết hóa Usecase quản lý đơn hàng Website bán hàng tạp hóa Trang Trình... mặt hàng: Chỉnh sửa loại mặt hàng: Website bán hàng tạp hóa Trang 27 Trình bày tập lớn Xóa loại mặt hàng: 2 .3. 10 Màn hình Quản lý mặt hàng hình liên quan Tạo mặt hàng mới: Website bán hàng tạp hóa. .. 2 .3. 15 Màn hình Quản lý đơn hàng hình liên quan Xem thông tin chi tiết: Website bán hàng tạp hóa Trang 36 Trình bày tập lớn Chỉnh sửa đơn hàng: Xóa đơn hàng: Website bán hàng tạp hóa Trang 37