Phương pháp nào nên được sử dụng để ngăn chặn XSS?

XSS hoặc Cross-Site Scripting là một lỗ hổng ứng dụng web cho phép kẻ tấn công đưa nội dung JavaScript dễ bị tấn công vào một trang web. Kẻ tấn công khai thác điều này bằng cách đưa vào các trang web không có hoặc làm sạch kém nội dung do người dùng kiểm soát. Bằng cách tiêm nội dung dễ bị tổn thương, người dùng có thể thực hiện [nhưng không giới hạn],

  1. ăn cắp cookie
  2. Đánh lừa một trang web
  3. Bỏ qua Bảo vệ CSRF, v.v. ,

Có nhiều cách để một ứng dụng web có thể tự bảo vệ mình khỏi các sự cố Cross-Site Scripting. Một số trong số họ bao gồm,

  1. lọc danh sách đen
  2. Lọc danh sách trắng
  3. Mã hóa theo ngữ cảnh
  4. Xác thực đầu vào
  5. Chính sách bảo mật nội dung

1. lọc danh sách đen

It is easy to implement a filtering technique that protects the website from XSS issues only partially. It works based on a known list of finite XSS vectors. For example, most XSS vectors use event listener attributes such as onerror, onmouseover, onkeypress etc., Using this fact, users given HTML attributes can be parsed and these event listeners attributes. This will mitigate a finite set of XSS vectors such as

Thuận lợi.  

  1. Các bộ lọc này rất dễ triển khai trong ứng dụng web
  2. Hầu như không có nguy cơ dương tính giả đối với nội dung người dùng an toàn được lọc bởi các bộ lọc này

Nhược điểm

Nhưng bộ lọc này có thể dễ dàng bỏ qua vì các vectơ XSS không hữu hạn và không thể duy trì như vậy. Dưới đây là danh sách một số bỏ qua hợp lệ của bộ lọc này. Bộ lọc này không bảo vệ trang web hoàn toàn

  1. XSS
  2. XSS
  3. XSS

2. Lọc danh sách trắng

Lọc danh sách trắng ngược lại với lọc dựa trên danh sách đen. Thay vì liệt kê các thuộc tính không an toàn và làm sạch HTML của người dùng bằng danh sách này, lọc danh sách trắng sẽ liệt kê một tập hợp các thuộc tính và thẻ HTML đã đặt. Các thực thể được biết là chắc chắn an toàn được duy trì và mọi thứ khác sẽ được lọc ra

Điều này làm giảm khả năng XSS đến mức tối đa và chỉ mở XSS khi có lỗ hổng trong chính bộ lọc coi một số thực thể không an toàn là an toàn. Việc lọc này có thể được thực hiện ở cả phía Máy khách và phía máy chủ. Lọc danh sách trắng là bộ lọc được sử dụng phổ biến nhất trong các ứng dụng web hiện đại

Thuận lợi.  

  1. Giảm khả năng XSS đến một mức độ rất tốt
  2. Một số bộ lọc danh sách trắng như bộ lọc Antisamy viết lại nội dung Người dùng bằng các quy tắc An toàn. Những nguyên nhân này gây ra việc viết lại nội dung HTML với các tiêu chuẩn nghiêm ngặt của ngôn ngữ HTML

Nhược điểm.  

Thường xuyên hơn, điều này hoạt động bằng cách chấp nhận HTML không an toàn hoặc không được làm sạch, phân tích chúng và xây dựng một HTML an toàn và phản hồi lại cho người dùng. Đây là hiệu suất chuyên sâu. Việc sử dụng nhiều các bộ lọc này có thể có tác động tiềm ẩn về hiệu suất đối với ứng dụng web hiện đại của bạn

3. Mã hóa theo ngữ cảnh

The other common mitigation technique is to consider all user given data as textual data and not HTML content, even if it is an HTML content. This can be done performing HTML entity encoding on user data.  Encoding

test

may get converted to
 test 
The browser will then parse this correctly and render

test

as text instead of rendering it as h1 HTML tag.

Thuận lợi

Nếu được thực hiện đúng, mã hóa theo ngữ cảnh sẽ loại bỏ hoàn toàn rủi ro XSS

Nhược điểm.  

Nó coi tất cả dữ liệu người dùng là không an toàn. Do đó, bất kể dữ liệu người dùng an toàn hay không an toàn, tất cả nội dung HTML sẽ được mã hóa và sẽ được hiển thị dưới dạng văn bản thuần túy

4. Xác thực đầu vào

Trong kỹ thuật xác thực Đầu vào, một biểu thức chính quy được áp dụng cho mọi dữ liệu tham số yêu cầu i. e. , nội dung do người dùng tạo. Chỉ khi nội dung đi qua một biểu thức chính quy an toàn thì nó mới được phép. Nếu không, yêu cầu sẽ không thành công ở phía máy chủ với 400 mã phản hồi

Thuận lợi

Xác thực đầu vào không chỉ làm giảm XSS mà còn bảo vệ hầu hết tất cả các lỗ hổng có thể phát sinh do tin tưởng vào nội dung của người dùng

Nhược điểm

  1. Có thể giảm thiểu XSS trong trường số điện thoại bằng cách xác thực biểu thức chính quy dạng số nhưng đối với trường tên, điều đó có thể không thực hiện được vì tên có thể ở nhiều ngôn ngữ và có thể có các ký tự không phải ASCII trong bảng chữ cái Hy Lạp hoặc Latinh
  2. Kiểm tra biểu thức chính quy là chuyên sâu về hiệu suất. Tất cả các tham số trong tất cả các yêu cầu tới máy chủ phải khớp với một biểu thức chính quy

5. Chính sách bảo mật nội dung

Trình duyệt hiện đại cho phép sử dụng CSP hoặc Tiêu đề chính sách bảo mật nội dung. Với các tiêu đề này, người ta có thể chỉ định danh sách các miền chỉ có thể tải nội dung JavaScript từ đó. Nếu người dùng cố gắng thêm một JavaScript dễ bị tấn công, các tiêu đề CSP sẽ chặn yêu cầu

Thuận lợi

CSP là dạng tiên tiến nhất của cơ chế bảo vệ XSS. Nó loại bỏ các nguồn không đáng tin cậy để nhập dữ liệu vào các trang web dưới mọi hình thức

Nhược điểm.  

Để xác định các tiêu đề CSP, các trang web không được sử dụng mã JavaScript nội tuyến. JS nên được đưa ra bên ngoài và được tham chiếu trong các thẻ tập lệnh. Tập hợp các miền tải nội dung tĩnh này phải được đưa vào danh sách trắng trong các tiêu đề CSP

Mã hóa Vs Lọc –

Một câu hỏi phổ biến về giảm thiểu XSS là quyết định mã hóa hay lọc [khử trùng] dữ liệu người dùng. Khi nội dung do người dùng điều khiển phải được hiển thị dưới dạng HTML nhưng nếu javascript không thực thi thì nội dung đó phải chuyển qua bộ lọc. Nếu dữ liệu người dùng không cần phải được hiển thị dưới dạng HTML và nếu hiển thị văn bản là đủ, thì nên mã hóa HTML các ký tự trong dữ liệu người dùng

Kỹ thuật giảm thiểu được đề xuất cho XSS –

Bộ lọc danh sách đen đã bị khai thác nhiều lần và do nội dung HTML liên tục phát triển nên việc sử dụng bộ lọc Danh sách đen luôn không an toàn. Mặc dù xác thực đầu vào phù hợp và các tiêu đề CSP có thể giảm thiểu XSS ở mức độ tốt, nhưng chúng tôi luôn khuyến nghị mã hóa hoặc lọc thực thể dựa trên chính sách danh sách trắng dựa trên trường hợp sử dụng. Xác thực đầu vào và tiêu đề CSP có thể được thêm vào như một lớp bảo vệ bổ sung.  

Phương pháp nào ngăn chặn XSS?

Để ngăn chặn các cuộc tấn công XSS, ứng dụng của bạn phải xác thực tất cả dữ liệu đầu vào, đảm bảo rằng chỉ dữ liệu có trong danh sách cho phép mới được phép và đảm bảo rằng tất cả đầu ra biến trong một trang đều được mã hóa trước . .

Phương pháp nào nên được sử dụng để ngăn chặn XSS Mcq?

Nên sử dụng phương pháp nào để ngăn chặn XSS Mcq? . Thoát có nghĩa là lấy dữ liệu mà ứng dụng đã nhận được và đảm bảo dữ liệu đó an toàn trước khi hiển thị cho người dùng. Escaping user input is one way to prevent XSS vulnerabilities in applications. Escaping means taking the data an application has received and ensuring it's secure before rendering it for the user.

Phương pháp tốt nhất để ngăn chặn chéo là gì

Để ngăn chặn các cuộc tấn công tập lệnh chéo trang, nhà phát triển phần mềm phải xác thực đầu vào của người dùng và mã hóa đầu ra. Xem lại các ký tự để lọc ra, cũng như các nguồn và phần chìm để tránh

Bảo vệ XSS là gì?

Tiêu đề phản hồi HTTP X-XSS-Protection là một tính năng của Internet Explorer, Chrome và Safari ngăn các trang tải khi chúng phát hiện các cuộc tấn công tập lệnh chéo trang [XSS] được phản ánh . .

Chủ Đề