关于QQ的拒绝服务漏洞

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

最近发现了QQ的一个bug,QQ在通讯前会进行一系列的包认证过程。其中,我发现

了重发一些请求包可能会导致QQ拒绝服务(D.O.S)。同样的情况也适用于攻击移

动梦网的手机!

攻击过程如下:

[假设]

我的QQ是:123456

我要攻击用户A的QQ,号码是:999888

我要攻击用户B手机,号码是:13801234567

我的IP是:1.2.3.4

QQ服务器IP是:5.6.7.8

[步骤]

1.我在我的QQ里面 查找-->自定义查找--->通过对方的QQ号码--->输入123456

-->下一步 ---> 添加用户B

2.然后,QQ提示:对方需要验证你的身份,请输入你的请求信息按发送键

3.随便输入一些信息,如“我是A,请你加我。”,但暂时不按“发送”键

3.启动捕获工具,开始捕获源端口号为4001的所有udp包(可以使用各种的sniffer)

4.此时,在qq上面按“发送”,于是,qq就向QQ服务器发出加B为好友的请求包

5.然后,我将捕获到两个udp包如下:

NO Time Frame Protocol 源地址 目的地址 源端口 目的端口

0 19:22:21:112 IP UDP 1.2.3.4 5.6.7.8 4000 8000

1 19:22:21:124 IP UDP 5.6.7.8 1.2.3.4 8000 4000

注意,NO=0的包就是我对B的请求包:里面含有信息“我是A,请加我。”

6.我将NO=0的包截取下来,重发,用户B不能屏蔽这些请求,也就是说,B会收到大 量请求信息,即使B将A加入黑名单也无济于事。

我的测试证明,网络快的地方,通常可以让重发请求包速度加快,比如100包/s, 这样

的话,用户B的qq就会给这些垃圾的请求包淹没。

我还测试了移动qq,我把我的一个同学的手机用作测试,发现连续发15个包,就把他的手机灌满,方法也是与上面的方法相同,只需要捕获一个信息包重发就行了。在对手机的攻击中,我发现,发重发包的速率不能太快,不然重复的包会过滤掉,我觉得每2-5秒重发一个包很合适,足以在短时间内让对方用户的手机灌满垃圾信息。

[扩展攻击]

在普通的局域网中,黑客X可以设计一个黑客工具,专门捕获发QQ用户A发送去B手机的信息,重发会让B误以为A对他进行攻击。跟可怕的是,如果针对sms.163.com的收费服务进行攻击,可能会导致某些用户的巨额损失。然而,无法跟踪黑客X,因为它做的只是监听然后重发一些udp包,这很明显是QQ协议中的一些漏洞,需要修改认证协议。

[解决方法]

我正在构思一种解决该漏洞的方法,主要是在底层截获udp包的时候,把包送去一个固定长度的缓冲区,然后对该缓冲区扫描。这样做无疑会加重用户系统的负担,所以,建议在下一版本的QQ中加入,这可是腾讯的工作了。

华南理工大学计算机系 研一

黄兆勤

turing@thinkerit.comaeec@163.net

2002年7月29日

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航