Đồ án Kết thúc Môn Phân Tích Lỗ Hổng và Kiểm Thử Client Side tại Trường Đại Học Công Thương TP.HCM

Đồ án phân tích lỗ hổng và kiểm thử client side tập trung đánh giá bảo mật và hiệu quả của các kỹ thuật kiểm thử phía người dùng cuối.

Chuyên ngành

Phân Tích Lỗ Hổng Và Kiểm Thử

Người đăng

Ẩn danh

Thể loại

Đồ Án Kết Thúc Môn

2023

47
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. MỤC LỤC

1.1. Overview of Web Application Security

1.2. Common Client Side Vulnerabilities

1.3. Testing Tools and Environment

1.3.1. Image Tool OWASP ZAP

1.4. DOM Based Cross-Site Scripting (XSS)

1.4.1. Testing for Self DOM Based XSS

1.5. Testing for Self DOM Based XSS

1.6. JavaScript Execution

1.7. HTML Injection

2. Background

3. Objective

4. Scope

5. Literature Review

6. Methodology

6.1. Research Design

6.2. Data Collection

6.3. Testing Tools and Environment

6.3.1. Static Analysis Tools

6.3.2. Dynamic Analysis Tools

6.3.3. Browser Developer Tools

6.3.4. Fuzzing Tools

6.3.5. Security Testing Frameworks

Tóm tắt

I. Giới thiệu tổng quan về kiểm thử Client Side và các lỗ hổng bảo mật

Kiểm thử Client Side bên trong phát triển ứng dụng web đóng vai trò quan trọng trong xác định rủi ro và lỗ hổng có thể khai thác được. Phía máy khách (Client Side) bao gồm các thành phần như JavaScript, HTML, CSS chạy trực tiếp trên trình duyệt của người dùng. Việc đảm bảo bảo mật ứng dụng client side là thách thức bởi khả năng kiểm soát và bảo vệ mã nguồn hạn chế, dẫn đến nguy cơ xuất hiện các lỗ hổng bảo mật client side như Cross-Site Scripting (XSS), tiêm code độc hại, hoặc chuyển hướng URL trái phép. Kiểm thử phía máy khách nhằm mục đích phát hiện các điểm yếu này trước khi ứng dụng được vận hành thực tế, từ đó cung cấp các giải pháp bảo mật front-end hiệu quả.

Theo OWASP, các cuộc tấn công phổ biến về phía client thường tận dụng lỗi trong cách xử lý dữ liệu đầu vào, quản lý DOM, và nguyên tắc bảo mật trình duyệt. Nghiên cứu từ ĐH Công Thương TP.HCM (2023) cũng nhấn mạnh việc kết hợp các công cụ phân tích tĩnh và động để tối ưu việc phát hiện lỗ hổng bảo mật client side.

Kết luận, hiểu rõ về bản chất kiểm thử phía client, nhận diện các lỗ hổng client side là bước đầu quan trọng để tăng cường bảo mật ứng dụng client side cũng như giảm thiểu nguy cơ bị khai thác qua tấn công injection client.

1.1. Định nghĩa kiểm thử phía client và vai trò quan trọng trong bảo mật ứng dụng

Kiểm thử phía client là quá trình đánh giá bảo mật mã và chức năng chạy trên trình duyệt web của người dùng. Bao gồm kiểm tra các đoạn mã JavaScript, xử lý HTML, CSS để phát hiện lỗi tiềm ẩn. Việc này giúp đảm bảo rằng ứng dụng không có các điểm yếu ảnh hưởng đến trải nghiệm và an toàn người dùng, đặc biệt đối với dữ liệu được xử lý trên client như form đăng nhập hoặc thao tác DOM.

1.2. Các yếu tố chính ảnh hưởng đến lỗ hổng bảo mật phía client

Lỗi phổ biến dẫn đến lỗ hổng bảo mật client side gồm việc không làm sạch dữ liệu đầu vào, sử dụng hàm thực thi mã JavaScript không an toàn (eval(),setTimeout()), hoặc thiếu chính sách kiểm soát truy cập. Ngoài ra, việc khai thác CORS không đúng cách, lạm dụng lưu trữ trình duyệt và các yếu tố như Clickjacking cũng đã được ghi nhận là các rủi ro bảo mật đáng lưu tâm.

II. Phân tích các lỗ hổng bảo mật phổ biến trong kiểm thử phía Client Side

Kiểm thử bảo mật tập trung vào việc phát hiện các lỗ hổng dễ bị khai thác trên mã chạy phía người dùng. Các lỗ hổng bảo mật client side nổi bật gồm có DOM Based XSS, JavaScript Execution không kiểm soát, HTML Injection, và Client-side URL Redirect. Ngoài ra các kỹ thuật phức tạp hơn như Cross-Site Flashing, CSS Injection và Clickjacking cũng gây nên những mối đe dọa nghiêm trọng.

Bằng cách phân tích bản chất và cách thức khai thác từng loại lỗ hổng, chuyên gia có thể xây dựng các kịch bản tấn công để kiểm thử và đưa ra biện pháp bảo vệ tương ứng. Ngoài ra, việc xác định mức độ nghiêm trọng và phạm vi ảnh hưởng của các lỗ hổng cũng giúp ưu tiên xử lý hợp lý.

Tài liệu từ ĐH Công Thương TP.HCM (2023) cung cấp nhiều ví dụ cụ thể về cách tấn công như sử dụng đoạn mã iframe trong XSS hay xây dựng trang web giả mạo để thực hiện Clickjacking, thể hiện tính thực tiễn và chuyên sâu trong phân tích bảo mật phía client.

2.1. Tổng quan về Cross Site Scripting XSS và DOM Based XSS

Cross-Site Scripting (XSS) là một trong những lỗ hổng phổ biến nhất trên phía client, đặc biệt là dạng DOM Based XSS, nơi mã độc được chèn và thực thi trong DOM mà không trải qua kiểm soát đầu vào nghiêm ngặt từ server. Kẻ tấn công có thể lợi dụng để đánh cắp thông tin hoặc điều khiển trình duyệt người dùng. Phương pháp kiểm thử bao gồm việc tiêm mã độc và theo dõi phản ứng trình duyệt.

2.2. Phân tích các lỗ hổng JavaScript Execution và HTML Injection

Lỗ hổng JavaScript Execution xảy ra khi dữ liệu đầu vào không được xác thực và dẫn tới khả năng thực thi mã độc hại trên trình duyệt. HTML Injection là khi kẻ tấn công chèn các phần tử HTML nguy hiểm làm thay đổi giao diện hoặc đánh lừa người dùng. Cả hai đều xuất phát từ việc xử lý dữ liệu đầu vào không an toàn trong mã client.

2.3. Các lỗ hổng Client side URL Redirect và Clickjacking tiềm ẩn rủi ro

Lỗ hổng Client-side URL Redirect cho phép chuyển hướng người dùng đến các trang độc hại mà không được kiểm soát. Clickjacking là kỹ thuật lừa người dùng thực hiện hành động không mong muốn bằng cách che đậy các phần tử giao diện thật. Cả hai gây tổn hại nghiêm trọng về bảo mật và trải nghiệm người dùng nếu không được khắc phục.

III. Hướng dẫn áp dụng giải pháp kiểm thử bảo mật phía Client Side hiệu quả

Để giảm thiểu các lỗ hổng bảo mật client side, việc áp dụng những giải pháp bảo mật front-end chuyên sâu là cần thiết. Các bước kiểm thử bao gồm thiết kế kịch bản tấn công, sử dụng công cụ phân tích tĩnh và động như OWASP ZAP, Burp Suite, Chrome Developer Tools kết hợp với kỹ thuật fuzzing để kiểm tra khả năng ứng phó mã nguồn.

Bên cạnh đó, triển khai tự động kiểm thử mã JavaScript, làm sạch và xác thực đầu vào, áp dụng chính sách kiểm soát quyền truy cập phù hợp là những biện pháp hiệu quả. Ngoài ra, việc áp dụng Content Security Policy (CSP) giúp ngăn chặn việc thực thi mã độc thông qua các chính sách chặt chẽ đối với nguồn tài nguyên.

Tài liệu tham khảo cũng nhấn mạnh vai trò của việc triển khai mã lộn xộn (code obfuscation) và tuân thủ Nguyên tắc Phạm vi ít nhất (Least Privilege) trong bảo vệ mã nguồn phía client.

3.1. Các công cụ và kỹ thuật kiểm thử bảo mật JavaScript hiệu quả

Để kiểm thử bảo mật JavaScript, kết hợp công cụ tĩnh như ESLint với các trình quét động (dynamic scanners) như OWASP ZAP, Burp Suite giúp xác định sớm các lỗ hổng. Sử dụng thêm các công cụ fuzzing tự động tạo đầu vào không hợp lệ nhằm đánh giá khả năng xử lý lỗi của ứng dụng cũng rất hữu ích.

3.2. Cách triển khai Content Security Policy CSP để bảo vệ front end

CSP cho phép giới hạn các nguồn tài nguyên được phép thực thi trên trình duyệt, giảm thiểu nguy cơ XSS và tiêm code độc hại. Việc thiết lập tiêu đề HTTP phù hợp như 'default-src', 'script-src' cùng với Nonce giúp tăng cường bảo mật. Đồng thời rà soát và cập nhật chính sách thường xuyên giúp duy trì hiệu quả kiểm soát.

3.3. Thực hành an toàn lập trình phía client và quản lý quyền truy cập

Xác thực và làm sạch dữ liệu đầu vào là biện pháp cơ bản nhưng quan trọng để ngăn chặn tấn công injection client. Ngoài ra, giới hạn quyền truy cập của mã client theo nguyên tắc Least Privilege, giảm thiểu việc sử dụng thư viện bên thứ ba không rõ nguồn gốc và code obfuscation giúp ẩn đi các thành phần nhạy cảm, tăng cường bảo vệ ứng dụng.

IV. Ứng dụng thực tiễn và nghiên cứu về kiểm thử bảo mật phía Client Side hiện nay

Nhiều nghiên cứu và ứng dụng thực tế đã chứng minh hiệu quả của việc kiểm thử và bảo vệ phía client trong ngăn chặn các cuộc tấn công thực tế. Một số dự án sử dụng môi trường kiểm thử dựa trên Docker Desktop, kết hợp các công cụ phân tích để kiểm tra toàn diện các thành phần client side.

Các chiến dịch tấn công thành công như tấn công DOM Based XSS, Clickjacking, Client-side URL Redirect được mô phỏng chi tiết trong tài liệu của ĐH Công Thương TP.HCM nhằm đánh giá đúng mức độ nguy hiểm và cung cấp giải pháp phù hợp. Qua đó, tổ chức có thể giảm thiểu thiệt hại về dữ liệu, uy tín và chi phí khắc phục.

Ngoài ra, việc áp dụng các giải pháp như Web Application Firewall (WAF) và các chính sách CORS chặt chẽ được khuyến nghị nhằm bảo vệ tài nguyên từ phía trình duyệt, đồng thời đảm bảo tính toàn vẹn và bảo vệ dữ liệu client side.

4.1. Nghiên cứu thí nghiệm kiểm thử bảo mật với môi trường Docker Desktop

Sử dụng Docker Desktop để dựng môi trường kiểm thử giúp tái hiện chính xác ứng dụng web trong môi trường cô lập. Kết hợp các bước xác định và khai thác lỗ hổng qua đầu vào và đầu ra dưới sự giám sát chặt chẽ. Phương pháp này cho phép đánh giá thực tế hiệu quả của các biện pháp phòng thủ phía client.

4.2. Ví dụ thực tế về tấn công XSS và Clickjacking trong kiểm thử client side

Ví dụ được mô tả chi tiết cách chèn mã iframe độc hại qua ô tìm kiếm nhằm thực thi XSS hoặc tạo các nút đăng nhập giả mạo để lừa đảo người dùng trong Clickjacking. Các tình huống này giúp minh họa mức độ nguy hiểm và tính cần thiết của kiểm thử bảo mật toàn diện phía client.

4.3. Ứng dụng Web Application Firewall WAF trong bảo vệ ứng dụng phía Client Side

WAF được xem là lớp bảo mật bổ trợ giúp ngăn chặn các cuộc tấn công phổ biến như XSS, SQL Injection, và CSRF. Việc sử dụng WAF giúp lọc và xử lý các yêu cầu HTTP/HTTPS đầu vào một cách thông minh, bảo vệ ứng dụng trước các cuộc tấn công từ phía client không an toàn.

V. Top bí quyết và phương pháp nâng cao bảo mật ứng dụng Client Side hiệu quả

Việc nâng cao bảo mật ứng dụng client side đòi hỏi sự kết hợp của nhiều biện pháp kỹ thuật và thực hành tốt nhất. Việc ứng dụng đồng bộ những bí quyết như kiểm tra và làm sạch đầu vào, hạn chế sử dụng thư viện bên thứ ba không kiểm soát được, triển khai mã lộn xộn (obfuscation), và tuân thủ nguyên tắc Least Privilege giúp giảm thiểu rủi ro từ phía client.

Ngoài ra, thường xuyên rà soát, cập nhật và giám sát hệ thống bảo mật, áp dụng CSP và WAF một cách hiệu quả cũng góp phần đáng kể trong việc xây dựng hệ sinh thái an toàn cho ứng dụng web. Các tổ chức phát triển cần ưu tiên đào tạo nhân lực về an ninh mạng và kiểm thử bảo mật để duy trì mức độ cảnh giác cao trước các nguy cơ mới.

5.1. Các nguyên tắc làm sạch và xác thực dữ liệu đầu vào phía client

Không chấp nhận dữ liệu đầu vào chưa được xác thực, sử dụng các thư viện lọc dữ liệu uy tín và áp dụng cơ chế escape ký tự đặc biệt nhằm tránh việc tiêm mã độc. Việc này ngăn chặn nguy cơ tấn công Cross-Site Scripting (XSS) và các tấn công injection client khác.

5.2. Kỹ thuật mã lộn xộn code obfuscation và giảm thiểu sử dụng thư viện bên thứ ba rủi ro

Mã lộn xộn giúp bảo vệ nguồn JavaScript khỏi bị đọc và sửa đổi trái phép, làm giảm khả năng khai thác lỗ hổng phía client. Đồng thời, đánh giá kỹ lưỡng các thư viện bên ngoài trước khi tích hợp, chỉ sử dụng các nguồn cung cấp có uy tín để tránh rủi ro mã độc.

5.3. Áp dụng nguyên tắc Least Privilege và sử dụng chính sách bảo mật nâng cao

Giới hạn quyền truy cập dữ liệu và các API cho từng thành phần client, tránh cấp quyền tổng quát. Kết hợp với việc sử dụng Content Security Policy (CSP) và Headers bảo mật để đảm bảo rằng chỉ các nội dung hợp lệ mới được phép thực thi, giảm nguy cơ tấn công từ phía client side.

VI. Kết luận về tương lai và xu hướng phát triển kiểm thử Client Side bảo mật

Kiểm thử phía client ngày càng trở nên cấp thiết trong bối cảnh ứng dụng web phức tạp và đa dạng hơn, với việc chạy nhiều logic nhạy cảm trực tiếp trên trình duyệt. Xu hướng phát triển cho thấy sự gia tăng áp dụng trí tuệ nhân tạo (AI) và học máy (Machine Learning) để tự động hóa phát hiện lỗi và lỗ hổng trong mã phía client.

Bên cạnh đó, việc kết hợp các công cụ kiểm thử tĩnh và động, cùng với các chính sách bảo mật như CSP, WAF và giải pháp quản lý quyền truy cập chi tiết sẽ trở thành tiêu chuẩn trong phát triển ứng dụng web bảo mật cao cấp. Hướng tới một hệ sinh thái nguyên khối, bảo vệ toàn diện từ phía client đến server là thách thức nhưng cũng là cơ hội để nâng cao chất lượng sản phẩm.

Các nhà phát triển, chuyên gia bảo mật cần không ngừng cập nhật kiến thức mới và áp dụng các công cụ tiên tiến nhằm giảm thiểu rủi ro do các cuộc tấn công mạng tinh vi tiến hóa liên tục. Như lời khuyên từ OWASP, bảo mật phải là một phần không thể tách rời trong vòng đời phát triển ứng dụng.

6.1. Xu hướng ứng dụng AI và machine learning trong kiểm thử bảo mật phía client

Các giải pháp dựa trên AI hỗ trợ tự động dò tìm các mẫu lỗ hổng chưa được biết đến, phân tích hành vi ứng dụng và dự báo các nguy cơ bảo mật tiềm ẩn. Điều này nâng cao độ chính xác và hiệu quả của kiểm thử phía client, giúp phát hiện lỗi nhanh chóng hơn so với phương pháp truyền thống.

6.2. Vai trò mô hình hóa an ninh đa lớp trong bảo vệ dữ liệu client side

Bảo mật đa lớp tích hợp các biện pháp từ cơ sở hạ tầng mạng, server, ứng dụng đến client giúp giảm thiểu nguy cơ bị tấn công. Áp dụng WAF, CSP, kiểm thử thường xuyên, và kiểm soát quyền truy cập chi tiết giúp xây dựng hệ thống bảo mật vững chắc hơn.

6.3. Kêu gọi cộng đồng và nhà phát triển chủ động nâng cao kỹ năng bảo mật client side

Việc nâng cao nhận thức và năng lực bảo mật cho nhà phát triển là thiết yếu. Triển khai đào tạo, cập nhật các lỗ hổng mới và chia sẻ kinh nghiệm thực tiễn giúp tạo dựng cộng đồng phát triển ứng dụng có trách nhiệm và chuyên nghiệp hơn về bảo mật phía client.

16/09/2025

Trích đoạn nội dung tài liệu

TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HCM ĐỒ ÁN KẾT THÚC MÔN PHÂN TÍCH LỖ HỔNG VÀ KIỂM THỬ Đề tài: Client Side Testing Khoa: Công nghệ thông tin Giảng viên hướng dẫn : Trần Đắc Tốt Thực hiện : Nhóm 3 TP HCM 2023 TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HCM [ Họ và tên MSSV Công việc Phân công công việc, giám sác, hỗ trợ nội dung cho các Ngô Thế Kiệt (Nhóm trưởng) 2033210577 thành viên, làm word 1 -> 3 mục lục sắp xếp, nội dung , ppoint, demo. Nội dung phần 4.5, Phạm Đăng Khoa 2033216456 thuyết trình lỗ hỗng, ppoint. Nội dung phần 4.14, Nguyễn Viết Thịnh 2033216564 thuyết trình lỗ hỗng clickjacking, ppoint. Nội dung phần 5 -> 6, thuyết trình các chiến dịch giảm Nguyễn Hoài Tiến 2033216575 thiểu thiệc hại và các lỗ hỗng, ppoint 1 | Trang 2 | Trang LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trường đại hoc Công Thương Tp.HCM đã đưa môn phân tích lỗ hỗng và kiểm thử vào trương trình giảng dạy.

Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn thầy Trần Đắc Tốt đã dạy dỗ, truyền đạt những kiến thức quý báu cho em trong suốt thời gian học tập vừa qua. Trong thời gian tham gia lớp học phân tích lỗ hỗng và kiểm thử của thầy, chúng em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc. Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để em có thể vững bước sau này. Bộ môn phân tích lỗ hỗng và kiểm thử là môn học thú vị, vô cùng bổ ích và có tính thực tế cao.

Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên. Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ. Mặc dù em đã cố gắng hết sức nhưng chắc chắn bài tiểu luận khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy xem xét và góp ý để bài tiểu luận của em được hoàn thiện hơn. 3 | Trang Mục lục Mục lục .1 Overview of Web Application Security .2 Common Client Side Vulnerabilities .3 Testing Tools and Environment.

10 Image Tool OWASP ZAP .1 DOM Based Cross-Site Scripting (XSS) .1 Testing for Self DOM Based XSS:. 14 Hình 2: HTML Injection .4 Client-side URL Redirect. 15 Hình 3: Client-side URL Redirect .6 Client-side Resource Manipulation .7 Cross-Origin Resource Sharing (CORS) .8 Cross-Site Flashing. 26 Hình 7: Browser Storage .13 Cross Site Script Inclusion (XSSI).

29 Hình 8: Reverse Tabnabbing. 29 Bảng 1: Thống kê các cuộc tấn công .1 Exploiting Vulnerabilities in Real World Web Applications( Docker Desktop). 34 Chủng bị môi trường kiểm thử ( Docker Desktop ). 34 Thực hiện kiểm thử .2 Impact and Consequences of Successful Attacks .1 Best Practices for Securing Client Side Code .1 Xác thực và làm sạch dữ liệu đầu vào của người dùng: .2 Sử dụng HTTPS để truyền thông tin một cách an toàn: .3 Giảm thiểu việc sử dụng mã và thư viện bên thứ ba: .4 Triển khai mã lộn xộn (Code Obfuscation): .5 Tuân thủ Nguyên tắc Phạm vi ít nhất (Principle of Least Privilege): .2 Implementing Content Security Policies (CSP).

42 Ví dụ thực tế về Triển khai CSP .3 Web Application Firewall (WAF) Usage .1 Web Application Firewall (WAF) là gì? .2 WAF bảo vệ chống những cuộc tấn công gì? .1 Background Với sự phức tạp ngày càng tăng của các ứng dụng web và sự phổ biến của các công nghệ phía máy khách như JavaScript, HTML và CSS, đảm bảo an ninh cho các thành phần phía máy khách đã trở thành một khía cạnh quan trọng của tổng thể bảo mật ứng dụng web. Kiểm thử phía máy khách là một thực hành cơ bản nhằm xác định và giảm thiểu các lỗ hổng có thể bị khai thác bởi kẻ tấn công để xâm nhập vào an ninh và tính toàn vẹn của các ứng dụng web. Phía máy khách của một ứng dụng web là mã và quy trình chạy trong trình duyệt web của người dùng. Điều này bao gồm các chức năng như xác thực biểu mẫu, hiển thị giao diện người dùng và tải nội dung động.

Tuy nhiên, các tính năng giống nhau đó cũng có thể mang đến rủi ro an ninh nếu không được quản lý đúng cách. Các lỗ hổng phổ biến phía máy khách bao gồm Cross Site Scripting (XSS), Clickjacking, thao tác DOM không an toàn và lưu trữ dữ liệu không an toàn.2 Objective Mục tiêu chính của nghiên cứu này là tiến hành khám phá sâu hơn về các kỹ thuật, công cụ và phương pháp kiểm thử phía máy khách. Qua đó, chúng tôi nhằm nâng cao sự hiểu biết về những điểm yếu an ninh trong mã phía máy khách và phát triển các biện pháp hiệu quả để phát hiện và khắc phục các lỗ hổng này. Nghiên cứu sẽ tập trung vào nhiều khía cạnh của kiểm thử phía máy khách, bao gồm xác định các lỗ hổng phổ biến, đánh giá tác động của chúng và đề xuất các thực hành tốt nhằm bảo vệ ứng dụng web.

Ngoài ra, chúng tôi sẽ điều tra hiệu quả của các phương pháp kiểm thử khác nhau trong việc phát hiện và khắc phục các vấn đề an ninh phía máy khách.3 Scope Nghiên cứu này sẽ tập trung vào việc kiểm thử và đánh giá an ninh phía máy khách trong các ứng dụng web. Nó bao gồm nhiều công nghệ phía máy khách, bao gồm nhưng không giới hạn bởi JavaScript, HTML, CSS và các cơ chế lưu trữ phía máy khách. Phạm vi sẽ bao gồm cả các ứng dụng web trang duy nhất (SPAs) và ứng dụng trang đa nền tảng truyền thống. Nghiên cứu sẽ liên quan đến việc sử dụng các công cụ kiểm thử bảo mật khác nhau, bao gồm cả các công cụ thương mại và mã nguồn mở, để phân tích và đánh giá tình trạng an ninh của các ứng dụng web mẫu.

Quá 6 | Trang trình kiểm thử sẽ bao gồm phân tích động và tĩnh của mã phía máy khách, cũng như kiểm tra thủ công để xác định các lỗ hổng tiềm ẩn mà các công cụ tự động có thể bỏ sót. Lưu ý rằng mặc dù nghiên cứu này nhằm cung cấp những cái nhìn toàn diện về kiểm thử phía máy khách, nó có thể không đáp ứng tất cả các tình huống hoặc mối đe dọa mới nổi. Vì vậy, bất kỳ đề xuất và kết luận nào từ nghiên cứu này cũng nên được sử dụng cùng với chiến lược bảo mật tổng thể, bao gồm việc cập nhật thường xuyên, thực hành mã an toàn và các đánh giá bảo mật liên tục. Kết thúc, nghiên cứu này nhằm đóng góp cho kiến thức và thực hành liên quan đến kiểm thử phía máy khách, giúp nhà phát triển, chuyên gia bảo mật và tổ chức xây dựng ứng dụng web mạnh mẽ và bảo mật trước những mối đe dọa mạng phát triển liên tục.

Literature Review Bảo mật ứng dụng web là một khía cạnh quan trọng trong lĩnh vực bảo mật mạng, đặc biệt khi dựa vào ngày càng phụ thuộc vào các công nghệ dựa trên web trong nhiều lĩnh vực. Một ứng dụng web là bất kỳ phần mềm nào được truy cập thông qua trình duyệt web hoặc thiết bị hỗ trợ web và tương tác với người dùng qua giao diện người dùng. Vì ứng dụng web xử lý dữ liệu nhạy cảm và thực hiện nhiều hoạt động, chúng trở thành mục tiêu chính cho các cuộc tấn công mạng. Mục tiêu chính của bảo mật ứng dụng web là bảo vệ ứng dụng và người dùng khỏi các mối đe dọa, lỗ hổng và cuộc tấn công tiềm năng.

Các biện pháp bảo mật được triển khai nhằm ngăn chặn truy cập trái phép, xâm nhập dữ liệu và chiếm quyền điều khiển các chức năng của ứng dụng. Một ứng dụng web an toàn đảm bảo tính bảo mật, toàn vẹn và khả dụng của dữ liệu người dùng, cũng như tính chức năng tổng thể của ứng dụng.1 Overview of Web Application Security Trước khi tìm hiểu về kiểm tra phía máy khách, điều quan trọng là hiểu về một số mối đe dọa bảo mật thông thường của ứng dụng web có thể ảnh hưởng cả đến phía máy chủ và phía máy khách. Những mối đe dọa này bao gồm: • Tấn công Cross Site Scripting (XSS): Kẻ tấn công chèn mã kịch bản độc hại vào trang web để đánh cắp thông tin nhạy cảm hoặc thực hiện hành động độc hại thay mặt người dùng. 7 | Trang • Tấn công SQL Injection (SQLi): Bằng cách chèn mã SQL độc hại vào đầu vào của người dùng, kẻ tấn công có thể kiểm soát cơ sở dữ liệu và có thể truy cập trái phép vào dữ liệu nhạy cảm.

• Tấn công Cross Site Request Forgery (CSRF): Kẻ tấn công lừa người dùng thực hiện các hành động không ý thức trên ứng dụng web, khai thác phiên được xác thực của họ. • Thiếu cấu hình bảo mật: Các máy chủ, framework hoặc ứng dụng được cấu hình không đúng cách có thể tiết lộ thông tin nhạy cảm, tạo cửa hậu và tạo điểm vào cho kẻ tấn công. • Lỗ hổng Insecure Direct Object References (IDOR): Kẻ tấn công có thể truy cập vào các tài nguyên bị hạn chế hoặc thực hiện các hành động trái phép bằng cách thay đổi các tham chiếu đối tượng trong ứng dụng. • Tấn công Server Side Request Forgery (SSRF): Kẻ tấn công có thể khiến máy chủ của ứng dụng thực hiện các yêu cầu đến các máy chủ khác, dẫn đến rò rỉ dữ liệu hoặc tiết lộ các hệ thống nội bộ.2 Common Client Side Vulnerabilities Các lỗ hổng phía máy khách mục tiêu cụ thể vào mã chạy trên trình duyệt hoặc thiết bị của người dùng.

Các lỗ hổng này có thể được khai thác để thay đổi trải nghiệm của người dùng, đánh cắp thông tin nhạy cảm hoặc thực hiện các hoạt động độc hại khác. Một số lỗ hổng phổ biến trên phía máy khách bao gồm: • Tấn công DOM Based Cross Site Scripting (DOM XSS): Các mã kịch bản độc hại thay đổi DOM của một trang web, dẫn đến thực thi mã trong trình duyệt của người dùng. • Thực thi Mã JavaScript: Những lỗ hổng trong các mã kịch bản phía máy khách có thể cho phép kẻ tấn công thực thi mã JavaScript tùy ý, dẫn đến việc thực hiện các hành động trái phép. • Tiêm Mã HTML: Kẻ tấn công chèn và thực thi mã HTML không được ủy quyền vào một trang web, tiềm ẩn nguy cơ chiếm quyền điều khiển trải nghiệm duyệt web của người dùng hoặc đánh cắp dữ liệu nhạy cảm.

• Chuyển Hướng URL Phía Máy Khách: Các mã độc hại chuyển hướng người dùng đến các trang web độc hại, dẫn đến các cuộc tấn công lừa đảo hoặc khác.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ