我看到默认情况下,在媒体上传器中SVG被阻止,您必须将其添加为functions.php中受支持的MIME类型。这背后的安全原因是什么?
我看到默认情况下,在媒体上传器中SVG被阻止,您必须将其添加为functions.php中受支持的MIME类型。这背后的安全原因是什么?
Answers:
SVG可以包含JavaScript。JavaScript可用于劫持cookie或执行其他可疑的操作。它甚至可以在名称空间中“隐藏”:
<html xmlns:ø="http://www.w3.org/1999/xhtml">
<ø:script src="//0x.lv/" />
</html>
在上传过程中很难将其过滤掉,因此默认情况下是不允许的。
http://www.w3.org/1999/xhtml
使此脚本实例等效于常规脚本。
http://www.w3.org/1999/xhtml
,因此您可以创建对该URL的引用,并将其用作此类标签的名称空间前缀,并且XHTML解析器会将其作为普通标签进行处理。
ø:script
不应该像对待标签那样处理script
任何事情。是什么导致命名空间ø:script
标签被视为非命名空间script
标签?还是SVG还允许嵌入非JS XML解析器?