带有木马或 script 的图片转成 base64 后,用浏览器访问还会中招吗?

2015-11-27 18:34:52 +08:00
 redtea

如<img src="data:image/gif;.. 这样?

3085 次点击
所在节点    程序员
6 条回复
virusdefender
2015-11-27 19:07:47 +08:00
老版本的浏览器解析图片有 bug ,会把图片里面的内容当 html 或者 js 解析,现在的浏览器基本没有这个问题了。
qqmishi
2015-11-27 23:56:33 +08:00
@virusdefender 我在 gif 文件后面加入了<script>alert(1);</script>,然后在 php 里面 include ,打开 php 实测还是弹窗了,不过页面也变成了乱码。浏览器为 Chrome 46.0.2490.86 m
w3hacker
2015-11-28 00:03:09 +08:00
<script>location.href = '//www.baidu.com';</script>
virusdefender
2015-11-28 00:10:31 +08:00
@qqmishi include 的话就成了 html 了啊,我说的是 <img src =“ xxx.gif ”> 的场景
qqmishi
2015-11-28 00:14:39 +08:00
@virusdefender 你说得对,刚试了这种方式确实不会执行后面的 js 代码了
redtea
2015-11-28 11:00:16 +08:00
http://stackoverflow.com/questions/9157621/is-it-safe-to-put-base64-encoded-user-data-into-src-of-img
终于找到了一种可能,需要对图片内容进行校验,否则图片内容没有进行 base64 就会中招。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/239488

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX