浅析图片XSS中的哪些技术问题

  1. 云栖社区>
  2. 嘶吼>
  3. 博客>
  4. 正文

浅析图片XSS中的哪些技术问题

玄学酱 2017-09-25 15:04:00 浏览1208
展开阅读全文
本文讲的是浅析图片XSS中的哪些技术问题跨站请求漏洞是web漏洞中最普遍的漏洞,在特定的场景下可以造成很严重的破坏。可以让攻击者在受害者浏览器上执行一个恶意脚本,网络上关于这方面的文章已经很多了。

危害

想象下,如果我们能够在图片里直接插入JS脚本,并且在访问图片的时候能够触发这个脚本。那么我们就可以在网站文章下面的留言中上传图片,让用户不知不觉中招。

生成图片

首先,以下脚本是一个向gif文件中注入JavaScript的脚本:

http://pastebin.com/6yUbfGX5

还有这个,是向bmp中注入的:

http://pastebin.com/04y7ee3u

两个都是用python写的,其中,我们注意到他们的重点是:

以下是对GIF的头部进行的处理:

浅析图片XSS中的哪些技术问题

用Hexadecimal打开,可以看到元数据GIF89a。

浅析图片XSS中的哪些技术问题

此外就是注入的内容:

浅析图片XSS中的哪些技术问题

演示过程

把脚本放到kali下执行

浅析图片XSS中的哪些技术问题

接下来,我们运行如下命令,将语句注入到图片中。以下是一个弹窗语句,在实际应用中,语句就很可能变成直接盗取cookie

浅析图片XSS中的哪些技术问题

好了,现在在html页面中直接加载图片,看xss是否可以被执行:

浅析图片XSS中的哪些技术问题

开启网站服务,apache2

浅析图片XSS中的哪些技术问题

访问页面,发现js脚本成功被执行:

浅析图片XSS中的哪些技术问题

我们可以把语句改成以下,就能重定向了:

浅析图片XSS中的哪些技术问题

也有用C或者ASM做的工具:

https://github.com/jklmnn/imagejs

https://gist.github.com/ajinabraham/f2a057fb1930f94886a3

如何防范

防御这类漏洞是很难的,不过有以下几点建议可以参考:

过滤用户输入内容
用白名单的方式限制元素的加载,及时是来自同一个域
用一些高级的开发模型例如MVC, PEAR, SRUTS…
使用令牌系统

总结

XSS漏洞存在于互联网的各个角落,千万不能忽视他的存在。开发的过程中一定要记得过滤用户输入。




原文发布时间为:2017年2月15日
本文作者:Change
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
原文链接

网友评论

登录后评论
0/500
评论
玄学酱
+ 关注
所属云栖号: 嘶吼