cocoruder去年底向阿里巴巴报了一个淘宝旺旺ActiveX控件溢出的漏洞:
http://www.xfocus.net/articles/200701/901.html
结果阿里巴巴偷偷把漏洞补了,但是不肯发公告。
有了这个教训,前两天cocoruder发现支付宝登陆控件代码执行漏洞的时候就直接公布了:
http://www.xfocus.net/articles/200702/906.html
阿里巴巴的态度还是一样:偷偷把漏洞补上了。有媒体问阿里巴巴是不是有这回事,阿里巴巴完全否定:
http://tech.sina.com.cn/i/2007-02-08/06481375187.shtml
而且派人时刻盯着支付宝社区,凡出现相关主题的不利帖子立即删除,所以现在我们在支付宝社区能看到的都是“形势一片大好”的帖子:
http://club.alipay.com/show_thread-20-1--5930514-.htm
如果事情到此为止也就算了,安全研究界要的也不过就是对自己工作的认可,你想藏着掖着,我们也可以理解。彼此间也没什么深仇大恨,你不承认也就不承认吧。除了腾讯,国内的公司我还没见到几家愿意诚实地发布自己产品安全公告的,我们早就习惯了。
但是事情没有结束。
昨天wlj在donew上发了一篇关于此事的文章,原来的链接是这个:
http://home.donews.com/donews/article/1/110127.html
但是今天早晨我发现这篇文章已经不见了。
而且还针对这篇文章请“天威诚信数字认证中心”搞了一个“专家检测”:
http://club.alipay.com/show_thread-79---5930928-.htm
http://member1.taobao.com/member/login.jhtml
如果你以前没有安装过支付宝的控件,这时候就会看到一个安装的提示。在网页上点击右键,察看源代码,在其中搜索“aliedit”,你会看到类似这样的两行:
https://img.alipay.com/download/1009/aliedit.cab
http://img.alipay.com/download/1009/aliedit.exe
这两个都是支付宝的控件,前者是可以通过IE提示你安装的,后者是你可以手工下载安装的。控件的当前版本是1.0.0.9。
阿里巴巴在技术方面的愚蠢之处就是在事发后,仍然把各个版本的登陆控件保留在服务器上。所以我们可以通过访问下面这些链接取得所有版本的控件:
http://img.alipay.com/download/1006/aliedit.cab
http://img.alipay.com/download/1007/aliedit.cab
http://img.alipay.com/download/1008/aliedit.cab
http://img.alipay.com/download/1009/aliedit.cab
http://img.alipay.com/download/1006/aliedit.exe
http://img.alipay.com/download/1007/aliedit.exe
http://img.alipay.com/download/1008/aliedit.exe
http://img.alipay.com/download/1009/aliedit.exe
当然,本文发布后,阿里巴巴十有八九会把1.0.0.9之前的版本删除。不过我相信,在他们删除之前,已经有足够多的人看到了这篇文章,下载了这些文件。并且我已经把存在漏洞的1.0.0.7版文件传到了这里:
http://tombkeeper.googlepages.com/1.0.0.7_aliedit.cab
http://tombkeeper.googlepages.com/1.0.0.7_aliedit.exe
(相信阿里巴巴的活动能力不至于能从googlepages上删除文件,所以本文涉及的所有文件一律放在googlepages上。)
那么上面这些文件会不会是我伪造的,用来陷害阿里巴巴的呢?ActiveX控件的一大特点是必须有数字签名来保证其身份。请大家在aliedit.cab或者aliedit.exe上单击右键,察看其属性。在属性窗口里有“数字签名”这一栏。任何人通过察看这里都可以确认该程序是由阿里巴巴发布的。
http://img.alipay.com/download/1007/aliedit.exe
如果上面这个地址已经下载不到东西,那就是阿里巴巴已经动手删除了,大家可以从我这里下载:
http://tombkeeper.googlepages.com/1.0.0.7_aliedit.exe
下载后请察看一下数字签名,确认是“ZHEJIANG ZHIFUBAO NETWORK TECHNOLOGY CO., LTD.”发布的,而不是我造的假。
安装时会提示“目标文件已存在,而且比源文件要新”,点击“是”确认安装。如果提示要重新启动,就重新启动,否则旧版本控件不会生效。
然后访问下面这个链接,这是cocoruder提供的一个测试代码,如果执行成功,会运行系统的“计算器”;即使不成功,也会让IE出错崩溃:
http://tombkeeper.googlepages.com/alipay_1007_calc_poc.htm
现在任何人都可以确定无疑地知道,在2007年2月8日之前,阿里巴巴的支付宝控件的确是有极其严重的漏洞的。
事情到此结束了么?还没有。
我昨晚抽空看了一下修复了漏洞之后的1.0.0.9版本的pta.dll,发现这个文件仍然有问题,虽不至于导致入侵系统,但还是可以导致IE浏览器崩溃。
无论你的支付宝控件是什么版本,即使是最新的,访问下面这个URL都会导致IE崩溃:
http://tombkeeper.googlepages.com/alipay_1009_crash_poc.htm
根据操作系统和IE版本的不同,你可能会看到类似这些的窗口:
那么作为普通用户,如何保护自己呢?
很简单,运行系统的“命令提示符”,在其中输入:
regsvr32 /u %SystemRoot%System32alieditpta.dll
这样就解除了pta.dll在系统中的注册,任何网页都无法调用它。大家再访问上面的链接就不会崩溃了。