1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Môn an toàn ứng dụng web và cơ sở dữ liệu đề tài xây dựng website quản lý bảo hành xe máy có sử dụng bảo mật an toàn web csdl

35 9 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Xây dựng website quản lý bảo hành xe máy có sử dụng bảo mật an toàn Web & CSDL
Tác giả Nguyễn Minh Thuận, Nguyễn Ngọc Tiểu Long, Phạm Mạnh Cường, Trần Đặng Khánh Trình
Người hướng dẫn Ths. (Tên người hướng dẫn)
Trường học Học viện Công nghệ Bưu chính Viễn thông cơ sở TP.HCM
Chuyên ngành An toàn Ứng dụng Web Và Cơ Sở Dữ Liệu
Thể loại Đề tài
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 35
Dung lượng 3,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC LỤC HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Đề tài : Xây dựng website quản lý bảo hành xe máy có sử dụng bảo mật an toàn Web & CSDL Nhóm sinh viên thực hiện : Nguyễn Minh Thuận

Trang 1

 MỤC LỤC 

  HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  

Đề tài : Xây dựng website quản lý bảo hành xe máy có sử dụng bảo mật an

toàn Web & CSDL

 

Nhóm sinh viên thực hiện : Nguyễn Minh Thuận  

Nguyễn Ngọc Tiểu Long

Lớp : D19CQAT01-N

 Trần Đặng Khánh Trình 

Thành phố Hồ Chí Minh, Ngày 20 tháng 12 năm 2022

 

Trang 3

Lời mở đầu

Trong thời đại công nghệ phát triển hiện nay, việc đảm bảo an ninh thông tin trên không gian mạng đang là vấn đề dành được nhiều sự quan tâm  Nguy cơ mất an toàn thông tin đang là mối đe dọa lớn và ngày càng gia tăng đối với an ninh quốc gia Có nhiều mục tiêu mà tin tặc thường nhắm tới như các máy chủ dịch vụ mạng, hệ thống cơ sở hạ tầng mạng.

Trong đó các hệ thống website đang là mục tiêu khá phổ biến do tính phổ cập và dễ tiếp cận đối với tin tặc Do đó việc bảo mật cho các website hiện được chú trọng và đặt ra các yêu cầu đặc biệt đối với việc kiểm thử.

Trước vấn đề đặt ra đó nhóm chúng em dưới sự cố vấn của Thầy Ths.” ” đã tìm ra giải pháp cho ứng dụng web thông qua một số kỹ thuật bảo mật ứng dụng web &csdl

II XÁC ĐỊNH YÊU CẦU

A Đảm bảo an toàn bảo một ứng dụng web

Trang 4

 Dựa vào danh sách 7 dạng tấn công thường gặp lên web

1 Chèn mã HTML và Cross-Site Scripting (XSS)

2 Cross-Site Request Forgery (CSRF)

3 Tấn công chèn mã SQL (SQL Injection)

4 Tấn công vào các cơ chế xác thực (Authentication attacks)

5 Tấn công lợi dụng các khiếm khuyết thiết kế (Logic attacks)

6 Tấn công trình duyệt web và sự riêng tư của người dùng

7 Một số case-studies về lỗ hổng và tấn công ứng dụng web Dựa theo danh sách 6 biện pháp

1 Xác thực người dùng và trao quyền truy nhập

2 Bảo mật phiên làm việc

3 Bảo mật máy chủ web

4 Bảo mật cơ sở dữ liệu web

5 Bảo mật hệ thống file

6 Bảo mật trình duyệt web

B  Đảm bảo an toàn bảo mật CSDL

Các yêu cầu về bảo mật CSDL

1 Tính bí mật

2 Tính toàn vẹn

3 Tính sẵn dùng Dựa vào danh sách 10 lỗ hổng CSDL trên thực tế 

1 Default and Weak Password (Các mật khẩu yếu hoặc ngầm định)

2 SQL Injection in the DBMS (Lỗi chèn mã SQL)

3 Excessive User & Group Privileges (Đặc quyền quá mức cho người dùnghoặc nhóm người dùng)

4 Unnecessary Enabled DBMS Features (Cho phép các tình năng không sửdụng trong DBMS)

5 Broken Configuration Management (Quản lý cấu hình lỗi)

6 Buffer Overflows (Lỗi tràn bộ đệm)

7 Priviledge Escalation (Leo thang đặc quyền)

Trang 5

8 Denial of Service (Tấn công từ chối dịch vụ)

9 Unpatched Database (CSDL không được vá)10.Unencrypted Data (Dữ liệu không mã hóa)III TỔNG QUAN XÂY DỰNG ĐỀ TÀI WEB

- Với đề tài “Xây dựng website quản lý bảo hành xe máy có sử dụng bảomật an toàn web và CSDL” chúng em đã xây dựng như sau:

- 1 Về ngôn ngữ lập trìnhJava, SQL Server, Framework: Springboot, Bootstrap

- 2 Về giao diệnGồm phần Frontend: Trang chủ,Trang Đăng nhập, quản lí khách hàng,quản lí nhân viên, Quản lí xe của khách, quản lí phiếu bảo hành

Backend: xây dựng mô hình MVC : Model-view-controller 

Cơ sở dữ liệu : Dùng SQL Server để quản lí thông tin sản phẩm, thông tinngười sử dụng(admin, user, người dùng, )

1 Màn hình đăng nhập

Trang 6

2 Giao diện cho khách

- Trang chủ website:

- Xem trạng thái bảo hành xe:

Trang 7

- Kiểm tra thời hạn bảo hành:

- Yêu cầu bảo hành:

Trang 8

3 Giao diện cho nhân viên

* Thực hiện các chức năng gồm có:

- Quản lý khách hàng:

Trang 9

+ Thêm khách hàng:

Trang 10

+ Chỉnh sửa thông tin khách hàng:

Trang 11

+ Xóa khách hàng:

- Quản lý xe của khách:

Trang 12

+ Thêm xe:

Trang 13

+ Chỉnh sửa thông tin xe:

+ Xóa xe:

Trang 14

- Quản lý loại xe:

+ Thêm loại xe:

+ Chỉnh sửa thông tin loại xe:

Trang 15

+ Xóa loại xe:

- Quản lý phiếu bảo hành:

Trang 16

+ Tạo phiếu bảo hành cho khách đến trực tiếp:

Trang 17

+ Chỉnh sửa phiếu bảo hành:

Trang 18

+ Xóa phiếu bảo hành:

Trang 19

+ Thông tin chi tiết phiếu bảo hành:

- Quản lý Account:

+ Tạo tài khoản:

Trang 20

+ Chỉnh sửa thông tin Account:

- Quản lý nhân viên:

Trang 21

+ Thêm nhân viên:

+ Chỉnh sửa thông tin nhân viên:

Trang 22

+ Xóa nhân viên:

Trang 23

- 3 Về tính năngGồm “4” tính năng:

- Tính năng đăng nhập cho user, admin

- Tính năng nhân viên (Hiệu chỉnh quản lí xe, phụ tùng, phiếu bảohành, )

- Tính năng admin(Quản lí nhân viên,accounts, toàn quyền quản lí củahàng)

- Tính năng cho người dùng (xem trạng thái bảo hành, thêm yêu cầu bảo hành, kiểm tra tình trạng bảo hành, )

- Quản lý loại phụ tùng:

+ Thêm loại phụ tùng:

Trang 24

+ Chỉnh sửa thông tin loại xe:

+ Xóa loại xe:

- Quản lý phụ tùng:

Trang 25

+ Thêm phụ tùng:

Trang 26

+ Chỉnh sửa phụ tùng:

+ Xóa phụ tùng:

Trang 27

IV ÁP DỤNG AN TOÀN BẢO MẬT WEB

- Dựa vào quá trình học chúng em đã xây dựng được các biện pháp bảomật web dựa trên Spring Security, là:

- Xác thực người dùng và quyền truy cập

- Bảo mật cơ sở dữ liệu web

- cụ thể thông qua các method từ thư viên Spring Securitynhư sau:

1 Method mà chúng ta xem xét đầu tiên là : protected void 

configure(HttpSecurity http) throws Exception  là phương pháp để

 Bảo mật phiên làm việc 

protected   void  configure(HttpSecurity http) throws  Exception {

  http.authorizeRequests()

  // Các trang không yêu cầu login như vậy ai cũng có thể vào được admin hay user hoặc guest có thể vào các trang

  antMatchers( "/WEB/**" ).permitAll()

  // Trang /manager yêu cầu phải login với vai trò USER hoặc ADMIN.

  antMatchers( "/manager/**" ).hasAnyAuthority( "USER" , "ADMIN" )

// Trang chỉ dành cho ADMIN

  antMatchers( "/admin/**" ).hasAnyAuthority( "ADMIN" )

  anyRequest().authenticated() //

.and()   // Cấu hình cho Login Form.

  // Submit URL của trang login

  loginProcessingUrl( "/j_spring_security_check" )

  //cấp quyền đang nhập cho trnag login

  loginPage( "/login" ).permitAll()

  //đây Khi đăng nhập thành công thì vào trang này.

userAccountInfo sẽ được khai báo trong controller để hiển thị trang view tương ứng

Trang 28

  defaultSuccessUrl( "/manager/customers" , true )

  // Khi đăng nhập sai username và password thì nhập lại

  // Nhưng cố ý truy cập vào trang admin

  // N goại lệ AccessDeniedException sẽ ném ra.

  // Ở đây mình tạo thêm một trang web hiển thị lỗi rolefail

  //CSRF ( Cross Site Request Forgery) là kĩ thuật tấn công bằng cách sử dụng quyền chứng thực của người sử dụng đối với 1 website khác

3 public  PasswordEncoder passwordEncoder() {

4 return   new  BCryptPasswordEncoder();

Trang 29

3 Để áp dụng phương pháp Xác thực người dùng và quyền truy cậpchúng em

sử dụng mothod 3 và 4 như sau

Method thứ 3 là protected   void  configure(AuthenticationManagerBuilder

ai trong hệ thống , UserName này có quyền gì

@ Bean

  public   UserDetailsService userDetailsService () {

  return   new  UserDetailsServiceImpl();

  session.setAttribute( "username" ,user.getUsername());

  Object ruri = session.getAttribute( "redirect-uri" );

Trang 30

  public  DaoAuthenticationProvider authenticationProvider() {

Ta có class như sau:

public   class  ReCaptchaResponse {

  private   boolean   success  ;

  private  String challenge_ts ;

  private  String hostName ;

  public   boolean  isSuccess() {

  return   success ;

  public   void  setSuccess( boolean   success ) {

  this success  = success ;

  public  String getChallenge_ts() {

  return   challenge_ts ;

  public   void  setChallenge_ts(String challenge_ts ) {

  this   challenge_ts   = challenge_ts ;

  public  String getHostName() {

  return   hostName ;

Trang 31

  public   void  setHostName(String hostName ) {

  this   hostName  = hostName ;

- Tấn công vào các cơ chế xác thực (Authentication attacks)

- Tấn công lợi dụng các khiếm khuyết thiết kế (Logic attacks)

- Tấn công trình duyệt web và sự riêng tư của người dùng

- Một số case-studies về lỗ hổng và tấn công ứng dụng web

V ÁP DỤNG AN TOÀN BẢO MẬT CSDL

- Và các kỹ thuật đã áp dụng vào ứng dụng của chúng em gồm

1 Xác thực, trao quyền và bảo mật mật khẩu

2 Bảo mật các đối tượng trong CSDL

Trang 32

- 1 Trong đó:Tính toàn vẹnđược thể hiện qua

 Liên kết của các thực thể users bao gồm user_roles với mỗi loại user

(admin,nhanvien,khachhang) sẽ có một phân quyền riêng với roles

- 2 Để đảm bảo Phương pháp Xác thực, trao quyền và bảo mật mật khẩuDatabase chúng em đã thiết lập password và phân quyền trên SQL Server cụthể như sau:

Trang 33

- AdminQLBHX : Toàn quyền.

- Sqluser2 : được phép thêm,sửa xóa.(Cụ thể khách hàng, xe, loại xe, phụ tùng, phiếu bảo hành)

- Sqluser1: Chỉ được phép xem

- Guest : Chỉ được xem phiếu bảo hành, xe

- 3 Sử dụng mã hóa trong CSDL

Các thông tin password ccuaruser được lưu trong database dưới dạng mã hóa

Trang 34

VI CODE VÀ DEMO

- Source Code :

- Video Demo :VII PHÂN CÔNG VÀ NHIỆM VỤ CỦA TỪNG THÀNH VIÊN

hoàn thành

MinhThuận

Xây dựng giao diện cho người dùng và nhânviên, xây dựng tính năng(thêm,tạo,xóa,sửa)

và phát triển mã hóa, phân quyền cho users

và Database

13/12/2022

Ngọc TiểuLong

Xây dựng Database, xây dựng hệ thống xácthực capcha, thiết kế xây dựng đồ án mônhọc hoàn chỉnh (dạng word)

17/12/2022

3

Trang 35

 

Ngày đăng: 24/05/2023, 05:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w