Mã nguồn: lib/xml/ Lib/xml/
Giao diện Python sườn để xử lý XML được nhóm trong gói xml
.
Cảnh báo
Các mô -đun XML không bảo mật đối với dữ liệu sai lầm hoặc được xây dựng độc hại. Nếu bạn cần phân tích dữ liệu không tin cậy hoặc không được xác thực, hãy xem các lỗ hổng XML và các phần gói defusSexML.XML vulnerabilities and The defusedxml Package sections.
Điều quan trọng cần lưu ý là các mô-đun trong gói xml
yêu cầu có ít nhất một trình phân tích cú pháp XML tuân thủ SAX. Trình phân tích cú pháp người nước ngoài được bao gồm với Python, vì vậy mô -đun xml.parsers.expat
sẽ luôn có sẵn.
Tài liệu cho các gói xml.dom
và xml.sax
là định nghĩa về các ràng buộc Python cho các giao diện DOM và SAX.
Các phân nhóm xử lý XML là:
-
xml.etree.ElementTree
: API ElementTree, bộ xử lý XML đơn giản và nhẹ
xml.dom
: Định nghĩa API DOMxml.dom.minidom
: Việc triển khai DOM tối thiểuxml.dom.pulldom
: Hỗ trợ xây dựng một phần cây Dom
xml.sax
: Các lớp cơ sở Sax2 và các chức năng tiện lợixml.parsers.expat
: Trình phân tích cú pháp người nước ngoài ràng buộc
Lỗ hổng XML
Các mô -đun xử lý XML không được bảo mật đối với dữ liệu được xây dựng độc hại. Kẻ tấn công có thể lạm dụng các tính năng XML để thực hiện các cuộc tấn công dịch vụ từ chối, truy cập các tệp cục bộ, tạo kết nối mạng đến các máy khác hoặc phá vỡ tường lửa.
Bảng sau đây đưa ra một cái nhìn tổng quan về các cuộc tấn công đã biết và liệu các mô -đun khác nhau có dễ bị tổn thương với chúng hay không.
Hàng tỷ cười | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] |
thổi bậc hai | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] | Dễ bị tổn thương [1] [1] |
thổi bậc hai | Mở rộng thực thể bên ngoài | An toàn [5] | An toàn [2] | Mở rộng thực thể bên ngoài | An toàn [5] |
An toàn [2] | Mở rộng thực thể bên ngoài | An toàn [5] | An toàn [5] | Mở rộng thực thể bên ngoài | An toàn [5] |
An toàn [2] | An toàn [5] | An toàn [5] | An toàn [5] | An toàn [5] | An toàn [2] |
An toàn [3]
An toàn [4]
Lấy DTD
An toàn
bom giải nén
Người nước ngoài 2.4.1 và mới hơn không dễ bị tổn thương bởi các lỗ hổng của nhóm hàng tỷ người và các lỗ hổng. Các mục vẫn được liệt kê là dễ bị tổn thương do sự phụ thuộc tiềm năng vào các thư viện do hệ thống cung cấp. Kiểm tra xml
1.
xml.etree.ElementTree
không mở rộng các thực thể bên ngoài và tăng xml
3 khi xảy ra một thực thể.xml.dom.minidom
không mở rộng các thực thể bên ngoài và chỉ đơn giản là trả về nguyên văn thực thể chưa được ghi nhận.
Mở rộng thực thể bên ngoài
An toàn [2]An toàn [3]
An toàn [2]An toàn [3]
An toàn [4]
Lấy DTD
An toàn