记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

腾讯微博可能会被用作于DDOS他人服务器

2014-06-16 18:20

腾讯微博分享图片处,允许引用外部链接分享图片。

分享外部链接,腾讯的服务器会对其进行远程图片本地化,就是将图片拉回腾讯的服务器

0-0.png



0-1.png





http://upload.t.qq.com/old/uploadextpic.php?sourcepic=http%3A%2F%2Fimlonghao.com%2F1.jpg(省略了部分参数)



而这个地方,我发现并没有做太多的限制.

通过用户所提交的地址,服务器先会分析其是否是一张合法的图片,如果是,则会进行下载。

这个地方对每个用户今天所能提交的请求没有限制,意味着我们可以无限请求这个攻击

这个地方对同一个图片地址无论之前是否曾经下载过,都会进行新一次的下载

漏洞证明:

==对同一个相同地址多次下载==

在一般短的时间内,发起两次请求。

发现我们得到了两个不同的图片地址的返回值

-1-1.png



-1-2.png





==DDOS test #1==

测试的图片地址是:http://imlonghao.com/wp-content/uploads/2013/06/Veil_3.png

大小:492.0KiB

Burp并发120线程,测试了5000次左右

1.png



(未开始)

2.png



3.png





==DDOS test #2==

测试的图片地址是:http://imlonghao.com/1.jpg

大小:15.3MiB

同样也是Burp并发120线程,测试了10000次请求

4.png



(未开始)

5.png



6.png



7.png





可见这次的效果更好,最高达到了50MB/s的出网速度.

但是,在测试的过程中也发现,有时候腾讯的下载服务器会把这个图片判定为不是图片,所以有时候的下载就是到一般的时候自动停止。





Nginx Log

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9925 HTTP/1.1" 200 4996874 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9919 HTTP/1.1" 200 10911498 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9924 HTTP/1.1" 200 12369674 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9861 HTTP/1.1" 200 14368522 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9918 HTTP/1.1" 200 14335754 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9958 HTTP/1.1" 200 14401290 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9959 HTTP/1.1" 200 8552202 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9863 HTTP/1.1" 200 6389514 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"

183.60.5.144 - - [02/May/2014:17:10:51 +0800] "GET /1.jpg?pid=9865 HTTP/1.1" 200 10223370 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36" "-"



通过nginx的日志不难看出,许多次请求都进行到一般就自动结束了,并没有请求完整张图片,不过效果也是十分明显的。



ll.png



这是SolusVM所提供的流量图,但是上面并没有50M/s的记录

我认为这是由于他所提供的记录拉了平均,因为这么长时间的速度并没有持续很长时间。





==总结==

可能使用一个更加优秀的POC可以达到更好的效果,不过就现在这样也可以令许多网站下线了!

修复方案:

尽管Facebook和Google都否认了他们所存在的类似漏洞,但是我觉得腾讯你们也应该有自己的看法。



我的修复方案是:

限制每个用户一天最多能使用多少次远程下载的功能

正常用户一天发几W张图片你觉得他发的是什么?



对地址进行记录,已经下载过的不进行另外的下载(不过这点似乎有点扯...可以绕过)



你们自己看看把~~

知识来源: www.wooyun.org/bugs/wooyun-2014-059188

阅读:73173 | 评论:0 | 标签:ddos

想收藏或者和大家分享这篇好文章→复制链接地址

“腾讯微博可能会被用作于DDOS他人服务器”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云