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

本文讲的是 浅析图片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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值