XSS là gì ? 1 số loại XSS phổ biến

  • Monday 11/07/2022

Trên không gian mạng Internet hiện này, tồn tại rất nhiều loại lỗ hổng bảo mật mà hacker có thể khai thác với nhiều phương pháp khác nhau. Một trong số đó là tấn công XSS. Vậy XSS là gì ? Chúng ta cùng tìm hiểu nhé

I. XSS là gì?

Cross-site scripting – XSS là một kỹ thuật tấn công bảo mật các trang web nhằm mục đích xâm phạm vào nội dung website với tư cách người dùng để truy cập và đánh cắp dữ liệu. Nếu hacker lấy được các quyền truy cập riêng tư trong ứng dụng thì mọi chức năng và dữ liệu đều được khai thác toàn bộ.

Tấn công XSS là một trong những cuộc tấn công có mức độ nguy hiểm cao với những ứng dụng web và chúng có thể mang lại hậu quả vô cùng nghiêm trọng. 

II. Các loại XSS phổ biến

Có ba loại tấn công XSS phổ biến

  • Reflected XSS là loại cung cấp các tập lệnh độc hại từ yêu cầu HTTP hiện tại.
  • Stored XSS là nơi lưu trữ các tập lệnh độc hại từ cơ sở dữ liệu trang web.
  • DOM-based XSS là loại có các lỗ hổng bảo mật tồn tại trong mã máy khách.

1. Reflected XSS

Reflected XSS là một lỗ hổng bảo mật cơ bản bao gồm các tập lệnh đa trang web xảy ra khi ứng dụng nhận dữ liệu yêu cầu HTTP bất kỳ và phản hồi lại theo cách không an toàn.

2. Stored XSS

Stored XSS xảy ra khi ứng dụng nhận các nguồn dữ liệu đáng ngờ và được phản hồi HTTP theo cách không an toàn.

Một số dữ liệu gửi đến ứng dụng thông qua HTTP như chức năng như comment trong blog, nicknames trong messenger hay các thông tin liên hệ khác…Hoặc dữ liệu từ các nguồn đáng ngờ như tin nhắn email trực tuyến qua SMTP, link tiếp thị hoặc các ứng dụng giám sát mạng.

3. DOM-based XSS

Các lỗ hổng XSS dựa trên nền tảng DOM để xâm nhập vào ứng dụng thông qua các mã JavaScript độc hại từ máy khách.

III. Mục đích của XSS

Tấn công XSS là phương pháp tấn công được hacker sử dụng với mục đích:

  • Mạo danh người dùng để tấn công các quyền truy cập có thể sử dụng.
  • Đọc dữ liệu truy cập sẵn có.
  • Đánh cắp thông tin đăng nhập để thay đổi trang web nội dung.
  • Chèn shell/trojan vào trang web.

IV. Tác động của XSS

Mức độ tấn công XSS sẽ phụ thuộc vào các yếu tố của ứng dụng như chức năng, dữ liệu hoặc trạng thái như:

  • XSS trong Brochureware sẽ có mức độ tác động tối thiểu nhất bởi tính năng ẩn danh người dùng nhưng toàn bộ thông tin được hiển thị công khai.
  • XSS trong ứng dụng có dữ liệu quản trọng như giao dịch ngân hàng, email hoặc hồ sơ sẽ có mức độ tác động nghiêm trọng.
  • XSS trong ứng dụng có các đặc quyền nâng cao sẽ có mức độ tác động nghiêm trọng nhất bởi các thông tin và dữ liệu cá nhân sẽ dễ dàng bị đánh cắp.

V. Kiểm tra và ngăn chặn XSS

1. Các cách kiểm tra XSS

Kiểm tra bằng công cụ: Công cụ trình quét lỗ hổng web của BurpSuite kết hợp phương pháp phân tích tĩnh và động của JavaScript giúp tự động hoá khả năng tìm kiếm các lỗ hổng XSS nhanh chóng và chính xác.

Kiểm tra thủ công

  • Sử dụng phương pháp kiểm tra thủ công để tìm kiếm các lỗ hổng Reflected XSS và Stored XSS bằng cách gửi đầu vào một chuỗi gồm chữ và số vào các mục nhập trong ứng dụng. Sau đó kiểm tra từng vị trí được gửi lại trong phản hồi HTTP để xác định đầu vào đó có thể được sử dụng để thực thi JavaScript tùy ý hay không. Bằng cách này, bạn có thể xác định được quy trình XSS xảy ra và chọn một trọng tải phù hợp để khai thác nó.
  • Kiểm tra DOM-based XSS thông qua các tham số URL bằng cách đặt một đầu vào tương ứng với một tham số và sử dụng công cụ dành cho nhà phát triển để tìm kiếm DOM của chúng. Sau đó hãy kiểm tra từng vị trí để xác định các đầu vào có thể khai thác hay không. Tuy nhiên, phương pháp này không thực sự khả thi đối với các loại lỗ hổng DOM XSS nâng cao khác.

2. Ngăn chặn XSS

Việc ngăn chặn XSS phụ thuộc vào độ phức tạp và cách xử lý dữ liệu của ứng dụng, sau đây là một số phương pháp dành cho bạn:

  • Lọc đầu vào của các thông tin cá nhân đảm bảo mức độ an toàn cao nhất.
  • Mã hoá dữ liệu đầu ra cho các dữ liệu truy xuất bằng HTML, URL, JavaScript hoặc CSS nhằm ngăn chặn các vấn đề lỗi.
  • Thiết lập danh sách các thẻ HTML được phép sử dụng và xoá bỏ các thẻ lỗi.
  • Sử dụng CSP để giảm thiểu mức độ ảnh hưởng của các lỗ hổng XSS.

VI. Tổng kết

Bài viết này đã  giới thiệu sơ lược về XSS. Các lỗ hổng XSS là rất nguy hiểm đối với trang web và ứng dụng. Vì thế bạn cần cẩn trọng trong việc xử lý các dữ liệu quan trọng tại đầu vào và đầu ra trên trình duyệt của bạn. 

Xem thêm các bài viết khác tại đây

P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng
Hosting Phổ Thông
Hosting Chất Lượng Cao

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

 

Rate this post