Mô tả:
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
1
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
2
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
3
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
4
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
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
5.11.1 X-Frame-Option
90
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
5
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ể
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
đăt
hàng dựa vào thông tin người mua và phân chia ai se là người tiếp khách hàng.
Nhân viên se được cấp môt tài khoản dùng để đăng
vào. Trang web khi đăng
nhâp
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 đa được phân công và
câp nhât ̣ 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 Mô tả khái quát mảng công việc
phần trăm đóng góp 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 hay 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 Người thiết kế & giải thích
chính/Cửa
sổ/Dialog
1
MH
1: Đặng Thị Thư và Huỳnh Thị Kiều
Hiển thị thông tin
Trang chủ Oanh. Giao diện gồm 3 phần chính:
quan trọng nhất của
phần đầu trang là tên, logo của trang,
trang web
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.
2
MH
2: Đặng Thị Thư và Huỳnh Thị Kiều Đăng nhập vào hệ
Màn hình Oanh. Màn hình gồm phần chính là thống
đăng nhập 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 đa đăng kí trước đó, và 1
button submit để xác nhận đă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
Mục đích
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 giỏ hàng.
phẩm có nút để thêm vào giỏ hàng và
quay lại trang chủ.
4
MH
4: Đặng Thị Thư và Huỳnh Thị Kiều
Màn hình Oanh. Hiển thị các sản phẩm mà khách
giỏ hàng
hàng đa 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 đa thêm vào
giỏ hàng và đặt lịch
hẹn.
5
MH
5: Đặng Thị Thư và Huỳnh Thị Kiều
Màn hình Oanh. Gồm hai phần là lịch hẹn và
xác nhận thông tin của các sản phẩm đa mua.
đơn hàng
Cho khách hàng xác
nhận lại các mặt
hàng mình đa 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 Hiển thị các đơn đặt
Oanh. Hiển thị các đơn đặt hàng của hàng của khách.
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.
7
MH
7:
Màn hình
chi
tiết
đơn
đặt
hàng
(admin)
Đặng Thị Thư và Huỳnh Thị Kiều Hiển thị toàn bộ
Oanh. Gồm 2 phần bên trái là lịch hẹn thông tin của đơn
của khách và bên phải là thông tin các hàng.
sản phẩm 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 Chỉnh sửa lại lịch
Oanh. Gồm 2 phần: bên trái là các hẹn và thông tin sản
textbox để chỉnh sửa thông tin về lịch phẩm của đơn hàng.
hẹn và bên phải là thông tin của sản
(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 Xem toàn bộ danh
Oanh. Gồm một bảng chứa các thông sách nhân viên.
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
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 Chỉnh sửa lại tên
Oanh. Gồm 3 textbox hiển thị tên, hoặc số điện thoại
Email và số điên thoại của nhân viên, 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
11
MH
11: Đặng Thị Thư và Huỳnh Thị Kiều Đăng ký một tài
Màn hình Oanh. Màn hình gồm các textbox để khoảng mới.
đăng ký
đ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.
12
MH 12:
Màn hình
danh sách
loại giay
13
MH
13: Đặng Thị Thư và Huỳnh Thị Kiều
Thêm một lại giày
Màn hình Oanh. Gồm một textbox để nhập tên mới
Đặng Thị Thư và Huỳnh Thị Kiều Hiển thị tất cả các
Oanh. Gồm một bảng hiện thị danh loại giày.
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.
thêm loại loại giày và hai button để lưu và quay
giày
trở lại trang danh sách loại giày
14
MH 14: Đặng Thị Thư và Huỳnh Thị Kiều Sửa lại tên của loại
Màn hình Oanh. Gồm một textbox để nhập tên giày
sửa
loại loại giày và hai button để lưu và quay
giày
trở lại trang danh sách loại giày
15
MH 15: Đặng Thị Thư và Huỳnh Thị Kiều Xem thông tin loại
Màn hình Oanh. Gồm một textbox hiện tên loại giày.
xem loại giày và hai button để chuyển đến trang
giày
sửa loại giày và 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ư và Huỳnh Thị Kiều Hiển thị tất cả các
Oanh. Gồm một bảng hiện thị danh thương hiệu.
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.
17
MH
17:
Màn hình
thêm
thương
hiệu
Đặng Thị Thư và Huỳnh Thị Kiều Thêm thương hiệu
Oanh. Gồm hai textbox hiện tên và mới.
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.
18
MH
18:
Màn hình
sửa
thương
hiệu
Đặng Thị Thư và Huỳnh Thị Kiều Sửa lại tên và quốc
Oanh. Gồm hai textbox hiện tên và gia của thương hiệu.
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.
19
MH
19: Đặng Thị Thư và Huỳnh Thị Kiều Xem tên và quốc gia
Màn hình Oanh. Gồm hai textbox hiện tên và của thương hiệu.
xem
quốc gia của thương hiệu và hai button
thương
hiệu
để chuyển đến trang sửa thương hiệu và
quay trở lại trang danh sách thương
hiệu.
20
MH
Màn
danh
nhà
cấp
Đặng Thị Thư và Huỳnh Thị Kiều Hiển thị tất cả các
Oanh. Gồm một bảng hiện thị danh nhà cung cấp.
sách các nhà cung cấp. Bên phải trên
của bản là một button chuyển đến màn
hình thêm nhà cung cấp mới. Bên phải
của mỗi nhà cung cấp là ba button để
xem, sửa và xóa.
21
MH 21:
Màn hình
thêm nhà
cung cấp
Đặng Thị Thư và Huỳnh Thị Kiều Thêm một nhà cung
Oanh. Gồm hai textbox hiện tên và địa cấp mới.
chỉ của nhà cung cấp và hai button để
lưu và quay trở lại trang danh sách nhà
cung cấp.
22
MH 22:
Màn hình
sửa
nhà
cung cấp
Đặng Thị Thư và Huỳnh Thị Kiều Sửa lại tên và địa
Oanh. Gồm hai textbox hiện tên và địa chỉ của nhà cung
chỉ của nhà cung cấp và hai button để cấp.
lưu và quay trở lại trang danh sách nhà
cung cấp.
23
MH 23:
Màn hình
xem nhà
cung cấp
Đặng Thị Thư và Huỳnh Thị Kiều Xem tên và địa chỉ
Oanh. Gồm hai textbox hiện tên và địa của nhà cung cấp.
chỉ của nhà cung cấp và hai button để
chuyển đến trang sửa nhà cung cấp và
quay trở lại trang danh sách nhà cung
cấp.
24
MH 24: Đặng Thị Thư và Huỳnh Thị Kiều Hiển thị thông tin
Màn hình Oanh. Gồm một bảng hiện thị danh của tất cả giày
danh sách sách giày. Bên phải trên của bản là một
giày
button chuyển đến màn hình thêm giày
mới. Bên phải của mỗi giày là ba
button để xem, sửa và xóa.
20:
hình
sách
cung
25
MH
25: Đặng Thị Thư và Huỳnh Thị Kiều Thêm giày mới.
Màn hình Oanh. Gồm các textbox để nhập thông
thêm giày tin của giầy, checkbox để xác định nhà
cung cấp, hai combobox để xác định
loại giày và thương hiệu. Bên dưới là
hai button để lưu lại và quay trở lại
trang danh sách giày.
26
MH
26: Đặng Thị Thư và Huỳnh Thị Kiều
Màn hình Oanh. Gồm các textbox để nhập thông
sửa giày
tin của giầy, checkbox để xác định nhà
cung cấp, hai combobox để xác định
loại giày và thương hiệu. Bên dưới là
hai button để lưu lại và quay trở lại
trang danh sách giày.
27
MH 27:
Màn hình
xem
chi
tiết giày
28
MH
27: Gồm ba textbox hiển thị username, Sửa lại Email và số
Màn hình Email và số điện thoại và một button để điện thoại của tài
đổi thông lưu thay đổi
khoản.
tin cá nhân
29
MH
27:
Màn hình
đổi
password
Sửa lại các thông tin
của giày hay update
hình ảnh mới hay
xác định giày không
còn bán.
Đặng Thị Thư và Huỳnh Thị Kiều Xem thông tin của
Oanh. Gồm các textbox để hiệ thông giày
tin của giày bên góc phải trên là hình
ảnh của giày. Bên dưới là hai button để
chuyển đến trang sửa thông tin giày và
quay trở lại trang danh sách giày.
Gồm ba textbox để nhập mật khẩu hiện Đổi mật khẩu của
tại, mật khẩu mới và xác nhận lại mật tài khoản hiện tại
khẩu mới, và một button để lưu lại mật
khẩu mơi.
2.2.1 Màn hình trang chủ
2.2.2 Màn hình đăng nhập
2.2.3 Màn hình chi tiết sản phẩm
2.2.4 Màn hình giỏ hàng
2.2.5 Màn hình xác nhận đơn hàng
2.2.6 Màn hình đơn đặt hàng (admin)
2.2.7 Màn hình chi tiết đơn đặt hàng (admin)
2.2.8 Màn hình chỉnh sửa đơn hàng (Admin)
2.2.9 Màn hình danh sách nhân viên (Admin)
2.2.10 Màn hình sửa thông tin nhân viên (Admin)
2.2.11 Màn hình đăng ký
- Xem thêm -