我读到来自用户的图像应该被清理。为了了解如何防止漏洞利用,我需要了解危险是如何表现的。如果浏览器加载的是代码而不是图像,浏览器是否允许代码在 img 元素中执行?还是有其他情况需要防范?谢谢。
是的,图像中的代码将由浏览器执行:
http://lcamtuf.coredump.cx/squirrel/
如果我们查看此文件的源代码,则会看到图像的有效二进制代码中嵌入了有效的html。浏览器将看到此内容并说"嘿!我知道该怎么做!"然后渲染它。不难想象将js放在图像中的<script>
标签中会对您的用户做各种令人讨厌的事情。