腾讯TM、QQ远程命令执行漏洞 点开QQ消息 执行本地文件、命令

当用户发送此类格式“网址”的时候:

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,被系统当成了一个文件或者目录。

回顾历史,腾讯在处理网址中特殊字符的时候一直存在各种各样的问题,历史上也有过此类“远程命令执行”漏洞,甚至还有爆内存的,例如:腾讯 QQ、TM 远程读取内存数据漏洞、可导致远程溢出、拒绝服务攻击

 

来自:Nuclear’Atk 网络安全研究中心,本文地址:http://lcx.cc/?i=2517