CWE-79: Điểm yếu làm mất an toàn khi vô hiệu hóa đầu vào trong quá trình генерации trang web ('Cross-site Scripting')
CWE-79 là gì?
CyStack AI
Sản phẩm không vô hiệu hóa đúng hoặc vô hiệu hóa sai đầu vào do người dùng kiểm soát trước khi được đưa vào đầu ra dùng làm trang web phục vụ cho người dùng khác.
Phân tích của CyStack dựa trên nguồn MITRE CWE chính thức 4.20 (30/04/2026).
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
There are many variants of cross-site scripting, characterized by a variety of terms or involving different attack topologies. However, they all indicate the same fundamental weakness: improper neutralization of dangerous input between the adversary and a victim.
The Same Origin Policy states that browsers should limit the resources accessible to scripts running on a given web site, or "origin", to the resources associated with that web site on the client-side, and not the client-side resources of any other sites or "origins". The goal is to prevent one site from being able to modify or read the contents of an unrelated site. Since the World Wide Web involves interactions between many sites, this policy is important for browsers to enforce.
When referring to XSS, the Domain of a website is roughly equivalent to the resources associated with that website on the client-side of the connection. That is, the domain can be thought of as all resources the browser is storing for the user's interactions with this particular site.
Mô tả chi tiết
Có nhiều biến thể của tấn công cross-site scripting, được nhận diện bằng nhiều thuật ngữ khác nhau hoặc liên quan tới các tổ chức tấn công khác nhau. Tuy nhiên, tất cả đều cho thấy cùng một yếu tố yếu cơ bản: việc vô hiệu hóa đầu vào nguy hiểm giữa kẻ tấn công và người dùng bị nhắm tới không được thực hiện đúng.
Đặc điểm
Trừu tượng: Cơ bản. Cấu trúc: Đơn giản. Tình trạng: Ổn định. Khả năng khai thác: Cao. Giai đoạn giới thiệu liên quan đến cách yếu điểm xuất hiện trong quá trình triển khai phần mềm. Thuật ngữ bao gồm các biến thể XSS như stored, reflected và DOM-based. Nền tảng thường liên quan đến công nghệ web và máy chủ web. Các đặc tính yếu liên quan bao gồm xử lý đầu vào, mã hóa đầu ra và biện pháp phòng thủ lớp layered defense.
Giai đoạn hình thành
Hiện thực hóa
Tác động thường gặp
Phạm vi và tác động gồm bỏ qua cơ chế bảo vệ, đọc dữ liệu ứng dụng, thực thi mã không được phép và có thể làm suy yếu tính bảo mật của người dùng, tính toàn vẹn và khả năng disponibilité. Kết quả phổ biến nhất là lộ thông tin nhạy cảm như cookie; các kết quả khác có thể bao gồm chuyển hướng, thay đổi nội dung hoặc thi hành mã độc trên hệ thống của người dùng cuối.
Kiểm soát truy cập, Tính bí mật
Vượt qua cơ chế bảo vệ, Đọc dữ liệu ứng dụng
Tính toàn vẹn, Tính bí mật, Tính sẵn sàng
Thực thi mã hoặc lệnh trái phép
Tính bí mật, Tính toàn vẹn, Tính sẵn sàng, Kiểm soát truy cập
Thực thi mã hoặc lệnh trái phép, Vượt qua cơ chế bảo vệ, Đọc dữ liệu ứng dụng
Biện pháp giảm thiểu
Kiến trúc và Thiết kế: Sử dụng thư viện hoặc framework được đánh giá để ngăn chặn yếu điểm này hoặc cung cấp cơ chế tạo đầu ra an toàn hơn. Triển khai các thư viện mã hóa như Microsoft's Anti-XSS, OWASP ESAPI Encoding hoặc Apache Wicket. Triển khai và Kiến trúc: Hiểu ngữ cảnh dữ liệu và yêu cầu mã hóa; áp dụng mã hóa thích hợp cho mọi ký tự không chữ cái và số khi xuất ra trang web. Kiến trúc: Xác định mọi điểm nhập liệu và tối thiểu hóa đầu vào không tin cậy. Kiến trúc: Đảm bảo các kiểm tra phía máy chủ sao chép kiểm tra phía client để tránh bị bỏ qua. Nguyên tắc Kiến trúc: Sử dụng các cơ chế có cấu trúc để tách dữ liệu và mã để tự động áp dụng mã hóa nơi có thể. Triển khai: Đảm bảo mã hóa đầu ra nhất quán (ví dụ UTF-8) để ngăn ngừa hiểu sai khi downstream xử lý.
Kiến trúc và thiết kế · Thư viện hoặc framework
Hiện thực hóa, Kiến trúc và thiết kế
Kiến trúc và thiết kế, Hiện thực hóa · Giảm bề mặt tấn côngHiệu quả: Hạn chế
Kiến trúc và thiết kế
Kiến trúc và thiết kế · Tham số hóa
Hiện thực hóa · Mã hóa ký tự đầu ra
Hiện thực hóa
Hiện thực hóa · Giảm bề mặt tấn côngHiệu quả: Phòng thủ nhiều lớp
Hiện thực hóa · Kiểm tra dữ liệu đầu vào
Kiến trúc và thiết kế · Áp đặt quy tắc bằng chuyển đổi
Vận hành · Tường lửaHiệu quả: Khá
Vận hành, Hiện thực hóa · Gia cố môi trường
Phương pháp phát hiện
Phân tích tĩnh tự động: Sử dụng công cụ nhắm vào yếu điểm này; phân tích luồng dữ liệu giúp giảm false positives nhưng không thể đảm bảo bao phủ hoàn toàn. Kiểm tra hộp đen và XSS Cheat Sheet có thể giúp phát hiện nhiều payload khác nhau; XSS lưu trữ có thể yêu cầu kiểm tra qua kho dữ liệu trước khi kích hoạt.
Phân tích tĩnh tự độngHiệu quả: Khá
Hộp đenHiệu quả: Khá
Lỗ hổng điển hình
Các ví dụ đại diện bao gồm CVE-2024-49038 (XSS trong trợ lý AI), CVE-2024-54142 (plugin cho phép XSS khi xử lý HTML entities), CVE-2021-25926 (Python Library Manager không vô hiệu hóa từ khóa tìm kiếm gây XSS phản chiếu), CVE-2021-25963 (nền tảng thương mại điện tử không thoát nội dung trang lỗi), và các CVEs được liệt kê khác như các ví dụ đại diện.
Các ví dụ này chỉ minh họa cho mục CWE, không phải danh sách đầy đủ mọi lỗ hổng liên quan.