XSS là gì? Cách truy vết và phòng chống tấn công XSS hiệu quả

4.0/5 (1 Reviews)

XSS, viết tắt của cụm từ Cross Site Scripting, là một lỗ hổng trong bảo mật mà các hacker sẽ sử dụng để cài đặt các phần mềm độc hại vào website.

Nếu là một nhà quản trị website hoặc một tester thì ắt hẳn thuật ngữ XSS đã không còn quá xa lạ với bạn phải không? Đây là một lỗ hổng bảo mật điển hình trong cơ sở dữ liệu và các hacker thường nhắm đến lỗ hổng này để chiếm quyền điều hướng website. Một khi website hoặc ứng dụng bị tấn công thông qua XSS sẽ gây nên rất nhiều rủi ro về thông tin, dữ liệu của người dùng. Vậy thực chất XSS là gì? Làm sao để truy vết và phòng chống chúng xâm nhập vào website? Cùng LPTech tìm hiểu ở bài viết dưới đây nhé!

XSS là gì?

XSS (Cross Site Scripting) là một trong những hình thức tấn công mạng mà các Tester có lẽ quen thuộc nhất. Tấn công XSS xảy ra khi có lỗ hổng trong việc bảo mật website mà hacker sẽ lợi dụng lỗ hổng này để ngụy trang các mã độc dưới dạng script và tiến hành vượt qua truy cập từ phía Client. 

Các hacker lợi dụng hình thức XSS này đa phần để ăn cắp dữ liệu nhận dạng của người dùng như nhận diện session tokens, cookies và một vài thông tin khác. Một khi hacker đã đăng nhập vào những tài khoản nhận diện này, chúng sẽ chiếm quyền kiểm soát tất cả tính năng và dữ liệu sẵn có của ứng dụng.

XSS mặc dù được đánh giá là hình thức tấn công web đơn giản, tuy nhiên nó lại cực kỳ nguy hiểm và được nhiều hacker sử dụng nhất hiện nay.

XSS là gì?

XSS tấn công như thế nào?

Đúng như tên gọi Cross Site Scripting, XSS sẽ tấn công bằng cách gửi và chèn một số lệnh script độc hại được viết bằng các ngôn ngữ lập trình quen thuộc như JavaScript, HTML, VBScript hay Flash,... Tuy nhiên JavaScript và HTML là hai ngôn ngữ được sử dụng nhiều hơn cả.

Khi hacker đã xác định được website bảo mật kém và dễ dàng tấn công, chúng sẽ tiến hành cài mã độc để trả về JavaScript độc hại cho người dùng. Khi mã độc đã thực thi bên trong trình duyệt, hacker sẽ có thể toàn quyền xâm nhập và sử dụng dữ liệu trong ứng dụng của người dùng.

XSS khi tạo được lỗ hổng, hacker sẽ xâm nhập website và có thể:

  1. Mạo danh danh tính của nạn nhân để thực hiện các thao tác hoặc giao dịch thông qua ứng dụng.
  2. Truy cập và đọc được các dữ liệu được lưu trữ trong website.
  3. Biết được thông tin đăng nhập của người dùng.
  4. Chèn mã độc Trojan vào website.

Một số cách thức tấn công phố biến nhất của XSS:

  1. Hacker tạo các form thông tin hoặc website giả mạo để dẫn dụ nạn nhân điền thông tin vào.
  2. Một số website được cài đặt quảng cáo, khi người dùng nhấn vào có thể bị cài mã độc XSS.
  3. Thông quan các email chứa mã nguồn độc hại. Khi hacker tìm được những lỗ hổng về bảo mật của website, chúng sẽ gửi từng mã lệnh đến người dùng cuối và ngay khi người dùng nhấn vào, website sẽ bị xâm nhập.

Cách thức tấn công của XSS

Cách thức tấn công XSS phổ biến

Hiện nay, XSS được chia ra làm 3 loại phổ biến nhất bao gồm:

Reflected XSS

Reflected XSS xảy ra khi một ứng dụng nhận dữ liệu trong HTTP request và đưa dữ liệu đó vào phản hồi ngay lập tức theo cách không an toàn. Hình thức này được xem là loại XSS được các hacker sử dụng nhiều nhất. Từ mã độc này, hacker sẽ đánh cắp dữ liệu và thông tin người dùng, sau đó chiếm quyền kiểm soát của họ trên website. Tuy nhiên hình thức này chỉ có thể nhắm đến ít nạn nhân. 

Stored XSS

Stored XSS là hình thức tấn công nhắm vào nhiều nạn nhân cùng một lúc bằng cách cài trực tiếp mã độc vào cơ sở dữ liệu của website, thông thường là từ các dữ liệu đầu vào như input, form thông tin,... Ngay khi người dùng thực hiện thao tác liên quan đến các dữ liệu đã bị cài mã độc thì hacker sẽ chiếm được quyền kiểm soát và truy cập website.

Thông thường hình thức tấn công này sẽ xảy ra khi người dùng không kiểm tra kỹ dữ liệu đầu vào, ví dụ như các comment, form thông tin,... Với Stored XSS, hacker phải thực hiện thông qua 2 bước để có thể đánh cắp được dữ liệu của người dùng: 

Đầu tiên, hacker sẽ thông qua các dữ liệu đầu vào mà người dùng đã điền để chèn vào CSDL các đoạn mã độc. Sau đó, khi người dùng truy cập vào website/ ứng dụng và thực hiện thao tác liên quan đến các dữ liệu đã được chèn mã độc này, đoạn mã script được chèn sẽ thực thi ngay lập tức trên thiết bị của nạn nhân.

DOM-based XSS

DOM-based XSS là một loại lỗ hổng xuất hiện khi JavaScript lấy dữ liệu từ nguồn do kẻ tấn công kiểm soát, chẳng hạn như URL và chuyển nó đến một bộ đệm hỗ trợ thực thi mã động, chẳng hạn như eval() hoặc innerHTML. Điều này cho phép kẻ tấn công thực thi JavaScript độc hại, thường cho phép chúng chiếm đoạt tài khoản của người dùng khác.

DOM-based XSS đến từ phía máy khách chứ không phải máy chủ. Hình thức XSS này xâm nhập dữ liệu dựa vào sự thay đổi địa chỉ HTML, cụ thể hơn chính là thay đổi cấu trúc DOM.

XSS có các loại nào?

Các bài kiểm tra XSS

Để kiểm tra và truy vết sớm các lỗ hổng truy cập XSS, người dùng có thể thực hiện bài kiểm tra cho website thông qua hộp đen hoặc qua các đoạn code.

Kiểm tra thông qua hộp đen

Black-box testing hay kiểm tra tấn công XSS qua hộp đen nghĩa là bạn không cần phải kiểm tra code. Khi bắt đầu, bạn cần kiểm tra xem phần nào của website dễ bị tấn công XSS nhất và liệt kê đầy đủ để chắc rằng không một khía cạnh nào trên web bị bỏ sót. Sau đó, bạn hãy có kế hoạch kiểm tra hộp đen của những trường khía cạnh đã liệt kê và kết quả sẽ cho bạn biết rằng ứng dụng/ website đó có dễ bị tấn công hay không.

Kiểm tra qua các đoạn code

Cũng tương tự như cách kiểm tra hộp đen kia, sau khi đã liệt kê được những khía cạnh dễ bị tấn công nhất, bạn cần tiến hành kiểm tra code của chúng. Để kiểm tra khả năng bị tấn công, bạn cần xem xét các script đã nhập phản hồi thế nào và có thực thi theo lệnh hay không.

Ví dụ: Khi bạn nhập đoạn script <script>alert(document.cookie)</script>. Nếu lúc này script được thực thi thì khả năng cao website của bạn đã bị tấn công bởi mã độc XSS.

Các bài kiểm tra XSS

Cách ngăn chặn XSS như thế nào?

XSS vẫn là một mối nguy hại đáng lo của các nhà quản trị web vì chúng mang đến rất nhiều rủi ro. Do đó, việc chuẩn bị một số kế hoạch ngăn chặn sự tấn công của XSS là điều cần thiết.

Hiện nay, thông thường các nhà quản trị website sẽ sử dụng 3 phương pháp sau đây để ngăn chặn XSS:

Data validation

Dù với phương pháp nào đi chăng nữa, bước đầu tiên để ngăn chặn xâm nhập XSS đó là người dùng cần xác thực dữ liệu đầu vào (Input validation). Mọi thông tin khi bạn nhập vào cần phải được xác thực vì tất cả thông tin này cần phải dẫn đến dữ liệu đầu ra. Do đó, data validation được xem là cơ sở, nền tảng quan trọng nhất để đảm bảo tính bảo mật của hệ thống website ứng dụng.

> Tìm hiểu thêm về cách sử dụng session (phiên) sau khi xác thực dữ liệu thành công: Session là gì? Cách phân biệt giữa session và cookie

Filtering

Mặc dù xác thực dữ liệu đầu vào có thể phần nào ngăn chặn tấn công XSS, tuy nhiên chúng không đủ hiệu quả nếu mã độc XSS được code tinh vi.

Lúc này, phương pháp Filtering (Lọc thông tin đầu vào) được đánh giá là có khả năng ngăn chặn tốt hơn. Bộ lọc này tìm kiếm các từ khóa có khả năng gây nên rủi ro trong thông tin input của người dùng và xóa hoặc thay thế chúng bằng những chuỗi ký tự trống.

Một số từ khóa tiềm ẩn rủi ro tấn công XSS có thể là:

  1. <script></script> tags.
  2. Javascript commands.
  3. HTML markup.

Escaping

Đây là một phương pháp ngăn chặn XSS khá đặc biệt. Với phương pháp này, các ký tự thích hợp, sẽ được thay thế bằng một số đoạn code đặc biệt, ví dụ: ký tự ‘escaping’ có thể được thay thế bằng ‘&#60’.

Cách ngăn chặn XSS như thế nào?

Qua bài viết trên đây, LPTech đã giải đáp cho bạn thắc mắc về khái niệm tấn công XSS là gì và các mối nguy hại khi website bị chúng tấn công. XSS là một hình thức tấn công mạng rất phổ biến hiện nay và ảnh hưởng nặng nề đến trang web của bạn. Do đó, hãy chuẩn bị cho mình các kiếm thức kiểm tra và ngăn chặn tấn công từ XSS nhé. Hy vọng bài viết hôm nay đã mang đến cho bạn thật nhiều thông tin bổ ích.

Thông Tin Liên Hệ

ĐỀ XUẤT CHO BẠN

Bài Viết Cùng Chuyên Mục

article-img

Authentication là gì? 7 phương pháp Authentication phổ biến

Authentication là gì? Đóng vai trò gì trong bảo mật và phát triển phần mềm. Tìm hiểu khái niệm về authentication và các phương pháp xác thực phổ biến ngay!

author-avatar

Nguyễn Thị Ái Vy

15/12/2024

XEM CHI TIẾT
article-img

CSRF là gì? Tìm hiểu cách chống tấn công giả mạo chủ thể

CSRF (Cross-Site Request Forgery) là một dạng tấn công trong các ứng dụng web. Tìm hiểu chi tiết về CSRF và cách bảo vệ ứng dụng khỏi nguy cơ này.

author-avatar

Nguyễn Thị Ái Vy

09/11/2024

XEM CHI TIẾT
article-img

Pentest là gì? Tầm quan trọng của kiểm thử xâm nhập

Tìm hiểu về phương pháp kiểm thử xâm nhập - Pentest, một giải pháp bảo mật thiết yếu cho doanh nghiệp trong thời đại số hóa.

author-avatar

Nguyễn Thị Ái Vy

24/10/2024

XEM CHI TIẾT
article-img

NAT là gì? Phân loại NAT theo chức năng và cách sử dụng

NAT là một kỹ thuật mạng dùng để chuyển đổi địa chỉ IP của một gói data khi nó đi qua một thiết bị mạng như router hoặc tường lửa. Các loại NAT và cách sử dụng. Tìm hiểu thêm trong bài viết sau!

author-avatar

Nguyễn Thị Ái Vy

29/09/2024

XEM CHI TIẾT
article-img

Tấn công brute-force là gì? Cách phòng chống tấn công vét cạn

Brute force là một hình thức tấn công mà các hacker thường sử dụng. Chúng thực hiện bằng các phần mềm tự động để thử mật khẩu tài khoản của người dùng.

author-avatar

Nguyễn Thị Ái Vy

07/08/2024

XEM CHI TIẾT
article-img

Trojan là gì? Cách nhận biết và phòng chống virus trojan xâm nhập

Trojan là gì? Đây là một loại virus độc hại được tạo ra để xâm nhập máy tính trái phép. Một khi đã xâm nhập vào, chúng sẽ phá hoại, làm hỏng dữ liệu.

author-avatar

Nguyễn Thị Ái Vy

29/07/2024

XEM CHI TIẾT

Chất Lượng Sản Phẩm Tạo Nên Uy Tín Doanh Nghiệp.

Tầm nhìn của LPTech mong muốn trở thành công ty Công nghệ không chỉ phát triển tại thị trường Việt Nam mà còn mở rộng ra cả khu vực Asia. Vậy nên, mỗi một công việc mà LPTech làm đều sẽ ảnh hưởng đến thương hiệu của công ty ở hiện tại lẫn tương lai. Chính vì thế, quý khách hàng có thể yên tâm về chất lượng website được thiết kế tại LPTech.

LIÊN HỆ NGAY
bgQuality

THÔNG BÁO

Tin nổi bật

notification-img
Thông báo lịch nghỉ lễ Mùng 10 tháng 3, 30/4 và 1/5 năm 2026

Công ty TNHH Thương mại Điện tử Công nghệ LP xin thông báo đến Quý Khách hàng, Đối tác và toàn thể Nhân viên lịch nghỉ lễ 10/3, 30/4 và 1/5 năm 2026

notification-img
Thông báo nghỉ Tết Nguyên Đán 2026

LPTech kính chúc Quý Khách hàng, Quý Đối tác và toàn thể nhân sự một năm mới an khang, nhiều niềm vui, đủ đầy yêu thương và vững bước thành công.

notification-img
Thông báo lịch nghỉ Tết Dương lịch 2026

Chào đón năm mới 2026, LPTech xin gửi đến Quý Khách hàng, Đối tác và toàn thể nhân viên lời chúc sức khỏe, bình an và thành công, đồng thời thông tin về lịch nghỉ Tết Dương lịch 2026 của Công ty.

notification-img
Vũng Tàu: Du lịch công ty 2 ngày 1 đêm cùng LPTech

Giữa những ngày cuối năm bận rộn, cả team rủ nhau đi trốn một chuyến về Vũng Tàu để đổi gió và tận hưởng biển xanh. Một chuyến đi đầy ắp kỉ niệm.

notification-img
Thông báo lịch nghỉ du lịch thường niên 2025

Một chuyến du lịch ngắn ngày nhưng đầy năng lượng này sẽ giúp đội ngũ LPTech tạm rời nhịp làm việc, nghỉ ngơi và sẵn sàng cho những mục tiêu mới.

notification-img
Tết Trung Thu 2025 – Mùa trăng đoàn viên, mùa yêu thương lan tỏa

Giữa sắc đèn lung linh và hương bánh nồng nàn, Tết Trung Thu trở về như bản nhạc dịu êm của đoàn viên, hạnh phúc và sự gắn kết.

notification-img
LPTech chào mừng Quốc khánh 2/9 – 80 năm tự hào dân tộc

Kỷ niệm Quốc khánh 2/9 – LPTech tự hào đồng hành cùng tinh thần dân tộc, tổ chức nhiều hoạt động nội bộ ý nghĩa để gắn kết tập thể và lan tỏa giá trị yêu nước.

notification-img
Thông báo lịch nghỉ lễ Quốc khánh 2025

LPTech kính chúc Quý khách hàng, Đối tác và toàn thể nhân viên có một kỳ nghỉ lễ vui bên gia đình và người thân!