漏洞效果
当用户发送此类格式“网址”的时候:
www.baidu.com..\..\..\..\..\..\..\Windows\System32\cmd.exe
对方接收之后,点击鼠标左键打开该网址的时候,会被当成路径打开,从而可以恶意执行一些程序、系统命令,造成严重安全隐患。
漏洞原理很简单,不解释了……
条件如下:
1、不能 url 编码,只能明文,囧rz……
2、不能使用中、英文空格,路径会被“打断”。(可以试试自定义发包构造一下,或者尝试一下 Web 端发送。)
3、不能存在 % 号等特殊字符,原因和第一条一样。
4、不能跨分区,例如:..\..\c:\..\Windows\System32\cmd.exe,如果对方QQ没有安装在系统盘,那么效果会大大折扣。
5、网址必须是可信网址,才可以直接点开。
6、字符串长度有限制,大概255字节左右。
空格是个蛋疼问题,不能带参数执行程序了,也许可以试试特殊字符。
可以试试跟踪一下函数调用过程,也许可以直接写入 ShellCode。
严格的来讲,这个不是腾讯自身的问题,是腾讯调用的api的问题,没有明确指定是文件还是网址,Windows 则会优先调用文件,你可以试试用CMD执行:
dir www.baidu.com..\..\..\..\..\..\..\Windows\System32\cmd.exe
start www.baidu.com..\..\..\..\..\..\..\Windows\System32\cmd.exe
就明白了。
字符串:www.baidu.com,被系统当成了一个文件或者目录。
我猜是腾讯调用的API:ShellExecute。
ShellExecute 的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。
ShellExecute,可以打开文件、路径,或者调用与之关联的程序打开,例如:图片、音乐、网址等,问题出在这……
在没有明确指定是文件还是网址的情况下,Windows 会优先调用文件……
回顾历史,腾讯在处理网址中特殊字符的时候一直存在各种各样的问题,历史上也有过此类“远程命令执行”漏洞,甚至还有爆内存的,例如:腾讯 QQ、TM 远程读取内存数据漏洞、可导致远程溢出、拒绝服务攻击
2012-5-24 9:46:17 补充:
貌似所有聊天类工具都受此漏洞影响,利用方法类似。
2012-5-23 19:17:30 补充:
关于漏洞无效的疑问……
腾讯大概在“2012-05-23 16:30”左右进行了紧急修复,从服务器端过滤了这些链接,所有此类链接都会显示不信任、可疑、带问号的(腾讯提示存在多重跳转,请用户谨慎打开),所以无法直接点击打开……
同时看到乌云有几位白帽子对提前公开漏洞表示不解,在这里解释一下……
这个漏洞不是我发现的,我也不知道是谁发现的,只是某地方略提了一下,然后花了点时间作了一些研究、分析,本来打算提交到乌云的,结果跑去一看有人抢先了几十分钟,于是到博客写了个详细分析文章。
至于公布嘛……
目测这个漏洞不好利用,有些鸡肋,所以……
我本人不是很赞成白帽子们主动给厂商当遮羞布,我们没有这个义务,而且有的厂商提交了漏洞还爱理不理的,更有甚者还反咬一口,白帽子们提交的大部分漏洞厂商也没有任何回报,从另外一个角度讲,给他们公开一点东西,可以“刺激”他们主动做好产品安全……
我倒很赞成国外的“赏金黑客”挖洞模式,白帽子可以通过努力获得可观的回报,这点钱对厂商来说连个零头都不到,但是可以刺激白帽子挖掘更有价值的漏洞,厂商也会在第一时间得到更有价值的漏洞,也不会被公开到处流传。
而我们国内白帽子们呢?干的却是吃力不讨好的事。
以前,国内的网络公司根本就不会去关注互联网上流传的产品漏洞,更别提主动去网上查找漏洞相关信息、联系漏洞发现者了,顶多只是在漏洞大规模利用爆发之后,或本公司的安全人员无意间看到后,才会注意到这些信息,然后修复,但这可能已经过了很久,这中间会浪费很多时间……
国内的厂商,好一点的,自己都有个内部安全部门,自查产品漏洞、修补。但是,对外,却没有任何一家公司有专门接收、处理公众提交漏洞的部门。所以,对公众发现的漏洞仍是很难及时知晓……
后来,乌云站了出来,靠着白帽子之间的人际关系,联合这些内部安全部门,组成了一个第三方漏洞提交平台,处理公众提交的漏洞。
刚开始,乌云仅仅是依靠在这些部门中工作的白帽子之间的人际关系,进行艰难地运作,无偿、主动帮这些厂商修复安全问题。
后来,乌云渐渐的有了名气,引来了一批厂商主动注册,并安排一个负责人关注这个平台,但是其中一些负责人压根不懂安全,造成了乌云一些搞笑的厂商回复。
国内很多厂商仍是不重视产品安全,只是敷衍了事、例行公事,而且对提交漏洞的白帽子很不友好,国内形势可以用四个字来概括:掩耳盗铃。
漏洞修补本身就是个双方都要积极参与的事情,并不是让其中一方卖力的干活,热脸贴冷屁股。只有厂商主动起来,双方都积极配合,才会改变目前国内尴尬的现状。
当然,以国内的形势来看,也许近期不会实现,毕竟国内的安全才刚刚起步……
以上内容,纯属扯淡,如有不妥,当没看见。
留言评论(旧系统):