我想在网站上显示用户上传的 SVG 图像,但它们很容易被利用:
- https://security.stackexchange.com/questions/11384/exploits-or-other-security-risks-with-svg-upload https://security.stackexchange.com/questions/11384/exploits-or-other-security-risks-with-svg-upload
- https://security.stackexchange.com/questions/36447/img-tag-vulnerability https://security.stackexchange.com/questions/36447/img-tag-vulnerability
例如,任意 javascript 可以嵌入到 SVG 中 https://html5sec.org/#47。性能利用也存在问题,但我认为这些问题的优先级较低。
是否有任何机制可以使 SVG 更加安全并且仅将其用作图像?我可以简单地相信吗<img src="/media/user-uploaded-image.svg" />
?
维基百科/维基共享资源托管 SVG 文件。有谁知道他们采取什么措施来防止 SVG 漏洞?
维基百科/维基共享资源托管 SVG 文件。有谁知道他们采取什么措施来防止 SVG 漏洞?
他们从单独的主机名提供上传的文件,特别是upload.wikimedia.org
。你可以跨站点脚本进入那里,但它不会给你带来任何东西:它存在于不同的起源中en.wikipedia.org
并且无法触摸其 cookie 或与其脚本交互。
这最终是处理文件上传的唯一无懈可击的方式,也是大多数大公司所做的。当您允许任意文件时,要彻底扫描所有许多模糊的 XSS 可能性是非常困难的。
我可以简单地相信吗<img src="/media/user-uploaded-image.svg" />
?
什么并不重要<img>
确实如此——用户可以直接导航到 SVG 地址,并且它将在站点的源中执行整页脚本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)