XSS là gì, cách thức hoạt động và làm sao để ngăn ngừa XSS?

Nguyễn Hữu Dũng 19/04/2021

Bảo mật là một trong những vấn đề quan trọng hàng đầu đối với một website. Các vụ tấn công hiện đang xảy ra thường xuyên trên Internet dưới nhiều hình thức, trong đó có XSS. Nếu bạn đang hoạt động trong lĩnh vực công nghệ hay làm việc với trang web thì hãy dành thời gian tìm hiểu XSS là gì trong bài viết tại Bizfly.vn để có thể bảo vệ thông tin và dữ liệu trên website của mình.

XSS là gì? 

XSS, viết tắt của Cross-site Scripting là một dạng kỹ thuật tấn công vào code injection của máy khách. Hacker tìm cách đưa những đoạn mã độc nguy hiểm vào mã nguồn của ứng dụng web hoặc trình duyệt để đánh cắp phiên giao dịch, cụ thể hơn là những dữ liệu nhận dạng người dùng khi họ truy cập vào website hoặc các ứng dụng dính mã độc.

XSS là gì

XSS là gì?

Đây là kỹ thuật tấn công website và ứng dụng web đặc biệt nguy hiểm. Nó được các hacker sử dụng phổ biến nhất trong thời điểm hiện nay.

Cách thức hoạt động của XSS ra sao? 

Về bản chất, XSS là hình thức tấn công dựa trên việc gửi, chèn các lệnh hay script độc hại được viết bằng ngôn ngữ lập trình tương đồng với phía client như Flash, Javascript, HTML, VBScript,... Trong đó ngôn ngữ lập trình chính được sử dụng thường là Javascript và HTML. 

Tùy vào kiểu tấn công XSS mà hình thức tấn công được thực hiện theo các phương thức khác nhau và theo đó, vị trí mã độc phản ánh cũng khác nhau. Các mã độc hoàn toàn có thể nhập vào một script nào đó, sau đó chèn vào trong mã nguồn website. Điều này khiến cho việc nhận dạng mã độc trở nên vô cùng khó khăn. 

Dù vậy, bất cứ cuộc tấn công XSS nào cũng đều phải trải qua 2 quy trình chung:

  • Đưa mã độc vào trình duyệt client mà nạn nhân truy cập.
  • Nạn nhân truy cập vào website có mã độc, khi đó, dữ liệu người dùng bị đánh cắp và họ buộc phải đăng nhập tài khoản của mình bằng các thông tin khác. Thông thường, trong trường hợp hacker nhằm vào một (vài) nạn nhân cụ thể, URL chứa mã độc sẽ được gửi đến các nạn nhân thông qua kỹ thuật social engineering hoặc phishing.

Các loại tấn công XSS thường gặp 

Hiểu về các loại tấn công XSS là gì, bạn mới có thể phòng ngừa chu đáo, tránh những rủi ro từ kỹ thuật tấn công này. XSS gồm 3 loại tấn công hay gặp, bao gồm Reflected XSS, Stores XSS và DOM Based XSS.

Các loại tấn công XSS thường gặp

Các loại tấn công XSS thường gặp

  • Reflected XSS: Reflected XSS là hình thức tấn công XSS được sử dụng nhiều nhất trong chiếm phiên làm việc của người dùng mạng. Qua đó, hacker đánh cắp các dữ liệu người dùng, chiếm quyền truy cập và hoạt động của họ trên website thông qua việc chia sẻ địa chỉ URL chứa mã độc và chờ nạn nhân ‘cắn câu’. Hình thức tấn công này thường nhắm vào một số ít nạn nhân.
  • Stored XSS: Không giống như Reflected XSS, Stored XSS nhắm đến khá nhiều nạn nhân cùng lúc. Với hình thức tấn công này, hacker chèn các mã độc vào database thông qua những dữ liệu đầu vào như form, input, textarea…Khi người dùng mạng truy cập website và tiến hành những thao tác liên quan đến các dữ liệu đã lưu, mã độc lập tức hoạt động trên trình duyệt của người dùng. 
  • DOM Based XSS: Dạng tấn công XSS thường gặp cuối cùng đó là DOM Based XSS. Đây là một dạng kỹ thuật dùng để khai thác XSS dựa vào cơ sở thay đổi HTML của tài liệu, nói cách khác là thay đổi các cấu trúc DOM. 

Xem thêm: DDos là gì? Cách nhận biết và phòng chống tấn công DDos hiệu quả

Làm cách nào để ngăn chặn cuộc tấn công XSS? 

Được đánh giá là dạng tấn công nguy hiểm và mang lại nhiều rủi ro nhất, các biện pháp ngăn chặn XSS rất đáng để quan tâm. Các chuyên gia hàng đầu về an ninh mạng khuyến khích sử dụng 3 phương pháp là Data validation, Filtering và Escaping để ngăn chặn các cuộc tấn công này. 

Làm cách nào để ngăn chặn cuộc tấn công XSS

Làm cách nào để ngăn chặn cuộc tấn công XSS?

  • Data validation (xác định đầu vào): Đảm bảo dữ liệu đầu vào được cung cấp với người dùng mạng là chính xác. Tuy không thể ngăn chặn hoàn toàn song cách này sẽ giảm thiểu khá nhiều rủi ro về lỗ hổng bảo mật, tránh tấn công dạng Stored XSS. 
  • Filtering (lọc đầu vào người dùng): Biện pháp này giúp tìm kiếm những keyword nguy hiểm có trong phần nhập của người dùng để kịp thời thay thế hoặc xóa bỏ chúng. Lọc đầu vào có thể được thực hành bởi những developers viết mã phía server.
  • Escape: Đây là biện pháp ngăn chặn XSS tương đối hiệu quả bằng cách thay đổi các ký tự bằng mã đặc biệt. Điều duy nhất bạn cần lưu ý trong trường hợp này là tìm kiếm thư viện Escape thích hợp. Ngoài ra, người dùng mạng cũng nên tự bảo vệ dữ liệu của mình bằng việc cẩn thận khi nhấp vào một link được chia sẻ nào đó. Đây là chiêu trò hay dùng của hacker khi tấn công XSS, đặc biệt là dạng Reflected XSS.
  • Quét mã độc website: Để có thể sớm phát hiện ra lỗi và khắc phục thì mọi người cần sử dụng các biện pháp nhằm quét mã độc trên website của mình từ đó có kế hoạch xử lý tốt hơn.

Về phía doanh nghiệp, để tránh các cuộc tấn công DOM Based XSS bạn cần tạo ra một list các thẻ HTML hợp lệ. Đồng thời xóa bỏ thẻ, những đoạn script lỗi và kí tự như “>”, “

Là một trong những dạng tấn công mang lại hậu quả nặng nề nhất, ngăn ngừa XSS là vấn đề mà bất cứ ai làm việc với web đều phải quan tâm và tìm hiểu XSS là gì cũng trở thành thiết yếu. Hiểu về vấn đề này, bạn có thể bảo vệ website và các dữ liệu của mình khi sử dụng mạng.

Nhận ngay tin tức mới nhất từ Bizfly

Nhận ngay tin tức mới nhất từ Bizfly