近期有不少恶作网友通过伪装图片绕过各论坛的上传检测系统,从而通过IE浏览器将在图片文件中隐藏的代码执行。
据悉,将HTML代码伪装成GIF图片后,IE浏览器在对其进行解析的时候会将其中隐藏的HTML或客户端脚本代码解释执行,但所幸的是服务器端脚本不会被执行。目前的大多数论、或博客等CMS系统均无法有效识别和阻止这种伪装的GIF文件上传。
动网论坛高级工程师解说
笔者得到消息后前往多个论坛实验,均可成功上传这种伪装的GIF图片。随即咨询了动网论坛高级工程师焦崧源(雨·漫步),他讲到:图片中隐藏的HTML代码会被执行并非论坛或博客程序导致的漏洞,可能是部分浏览器在解析图片时出现了问题,这个问题可能导致别有用心的人使用发论坛贴图的形式恶意引导其他网友访问某一个站点或挂马,严重的甚至可能导致跨站攻击或盗取Cookies等危险。目前动网已经提供了针对此问题的解决方案,通过对上传的图片文件进行详细信息验证以确定此图片是否为伪装。
雨·漫步通过其blog向笔者演示其伪装后的GIF图片示例
火狐内核的浏览器则不会被执行
截至发稿时,并没有听说因此次漏洞造成较大规模的攻击事件。由于影响不严重,包括社区软件供应商Discuz方面暂时未对此问题做出响应。但笔者对Discuz 6.0程序进行测试,发现只要稍加改造便可将伪装的图片绕过其验证进行上传。
这应该是IE一个漏洞,但仍希望能引起相关CMS厂商和站长的注意,以免自己的网站被不法份子利用,造成不必要的损失。