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

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

缺陷编号:wooyun-2015-0114764

漏洞标题:人人网多处缺陷结合起来存在被他人利用的风险(只是用作测试)

相关厂商:人人网

漏洞作者: q601333824

提交时间:2015-05-18 15:30

修复时间:2015-07-02 17:24

公开时间:2015-07-02 17:24

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

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-05-18: 细节已通知厂商并且等待厂商处理中
2015-05-18: 厂商已经确认,细节仅向厂商公开
2015-05-28: 细节向核心白帽子及相关领域专家公开
2015-06-07: 细节向普通白帽子公开
2015-06-17: 细节向实习白帽子公开
2015-07-02: 细节向公众公开

简要描述:

人人网多处缺陷存在被他人利用的风险(为了更好的说明,已经弄好测试页面了,只是用作测试,没用用在非法的地方)

详细说明:


【缺陷一】
----------------------------------------------------------------------------------------
1.当用百度帐号快速登录,如果是是第一次登录,会提示绑定已有用户还是新注册,我选择已有用户

1.png


2.这个地方存在两个缺陷

①这个接口,密码输错很多次,一直没有验证码提示???

2.png


②.还有这登录的方式,也是醉了,密码是明文的

3.png


③.这里关联百度帐号只验证UID,并没有验证cook,怎么知道我的百度帐号是真的在线??
而且也没有token

444.png


④.从上面的缺陷,总结,密码多次输错没有验证码,而且是明文登录,只验证百度UID,没有验证百度cook,没有验证我的百度帐号是否真的在线,而且也没有token
(也就是说,下面这段代码,我就能登录人人网站)

<html>
<form id="csrf" name="csrf" action="http://www.renren.com/bind/baidu/rb" method="POST">
<input type="text" name="email" value="xsstest1100@163.com" />
<input type="text" name="pwd" value="a456a456" />
<input type="text" name="baiduId" value="1931405923" />
</form>
<script>
document.csrf.submit();
</script>
</body>
</html>



-----------------------------------------------------------------------------------------
【缺陷二】
1。上面那段代码,只能登录一次,第二次用同一个帐号,会提示XXXXX帐号已绑定百度帐号
,所以再去看看解绑百度帐号接口

88888888888888.png


2.截取这个的解绑请求,虽然有token,和_rk.这两个参数只是摆设

999999999999999.png


3.简化后的post请求,这个请求就能解除百度帐号绑定

<html>
<form id="csrf" name="csrf" action="http://www.renren.com/bind/iourbs" method="POST">
<input type="text" name="bindType" value="7" />
<input type="text" name="rid" value="877317482" />
<input type="text" name="status" value="0" />
<input type="text" name="thirdPartyId" value="1931405923" />
</form>
<script>
document.csrf.submit();
</script>
</body>
</html>


4.【缺陷一】登录自己的帐号,再利用缺陷【缺陷二】解绑百度帐号,可以实现无限登录自己的人人帐号
---------------------------------------------------------------------------------------
【缺陷三】(这里是优酷举例子)
1.在优酷,使用绑定人人网的帐号的功能,优酷会先打开

http://i.youku.com/partner_thirdPartOnlyBind/tlsite_renren_tlclient_ykwebb


00000.png


2.然后会直接跳到这个地址

http://passport.youku.com/partner_thirdLoginCallback?tlsite=renren&tlclient=ykwebb&code=rea8lhAOf1sLqsu8BZf52PUkqKVGUiOx&state=0dd213a53c8d89e6637429b6e609277f&authcallback=http%3A%2F%2Fpassport.youku.com%2Fpartner_unifiedThirdpartCallback&tlsite=renren&origrurl=http%3A%2F%2Fpassport.youku.com%2Fpartner_unifiedThirdpartCallback


3.接着会提示,绑定成功

you.png



4.一个人人网帐号在关联优酷网站的时候,只有第一次会提示授权连接,所以只要授权了,这个帐号以后只要访问这个连接就能直接跳到绑定人人网成功的帐号界面

http://i.youku.com/partner_thirdPartOnlyBind/tlsite_renren_tlclient_ykwebb


bangding.png


chengg.png


--------------------------------------------------------------------------------------------
最后总结了
1.利用【缺陷一】,在对方的电脑登录自己的人人网站帐号
2.利用【缺陷二】,解除自己的帐号和百度帐号的绑定吗,为了下次能继续用这个接口登录
3.在别的网站使用人人绑定关联帐号功能,只要第一次授权过的,接下来直接访问这个连接,就能直接跳到人人网站成功绑定的

http://i.youku.com/partner_thirdPartOnlyBind/tlsite_renren_tlclient_ykwebb


--------------------------------------------------------------------------------------
利用方式:

当目标访问的时候,我先设置,解除对方的优酷绑定的人人(为了能绑定上自己的),再在对方的电脑登录自己的人人网,再利用关联帐号的缺陷,把自己的人人网站和目标的优酷帐号进行绑定,再解除自己的人人网帐号和百度帐号的关联,这样我就能我用自己的人人网的帐号登录对方的优酷帐号了
------------------------------------------------------------------------------------------
下面是测试图
1.这个时候人人网站帐号没有登录,我的优酷帐号也没有绑定

zhengm1.png


2.当目标打开的网站的时候,会先解除目标的优酷他自己的人人帐号绑定

zhengm2.png


3.接下来延迟一秒,登录我的人人网的帐号,

zhengm3.png


4.接下来再延迟三秒,通过这个连接,绑定我的人人网站帐号和目标的优酷帐号

http://i.youku.com/partner_thirdPartOnlyBind/tlsite_renren_tlclient_ykwebb


zhengm4.png



5.然后之后再解除,我的人人帐号和百度帐号的关联,为了那个接口能重复使用,不然会提示XXXX帐号已经关联百度帐号了

zhengm5.png


---------------------------------------------------------------------------------------------
1.然后当代码执行完成的时候,对方的优酷帐号已经绑定我的人人网帐号了,我可以通过人人网的帐号登录他的优酷帐号了

zhengm6.png


2.这个时候我的人人网帐号已经登录,而且对方的优酷也绑定了我的优酷帐号了

asdsadsadmmmmmmmmmmmm.png


---------------------------------------------------------------------------------------------
自己写了好了一个完成的测试网页

http://fripside.sinaapp.com/renrenjiechi.html


(测试的人可以先登录自己的优酷,然后访问这个地址,就能关联上我的人人网帐号了
如果人人网站没登录成功,可以使用:帐号:xsstest1100@163.com 密码:a456a456,把百度帐号关联解除掉,就不会提示XXX帐号已经关联百度帐号了,其实我设置了登录人人网的帐号之后解除百度帐号关联,为了下次测试能使用,一般等网页弹窗结束,不会出现这问题))

漏洞证明:

1.漏洞证明看上面
最后总结了
2.【缺陷一】,那个接口密码错误次数多了,没有验证码,而且登录还是明文,更重要的,关联过程,没有验证百度cook,没有确定我的百度帐号是否真的在线,只验证了我的uid,而且也没有token
3.【缺陷二】解除自己的帐号和百度帐号的绑定,post请求里面的token就是个摆设,不需要也能请求成功
4.【缺陷三】一个帐号在别的网站授权过了,下次关联帐号不需要用户的确认,直接访问,这个地址就能关联成功

http://i.youku.com/partner_thirdPartOnlyBind/tlsite_renren_tlclient_ykwebb


5.自己写了好了一个完成的测试网页

http://fripside.sinaapp.com/renrenjiechi.html


(测试的人可以先登录自己的优酷,然后访问这个地址,就能关联上我的人人网帐号了
如果人人网站没登录成功,可以使用:帐号:xsstest1100@163.com 密码:a456a456,把百度帐号关联解除掉,就不会提示XXX帐号已经关联百度帐号了,其实我设置了登录人人网的帐号之后解除百度帐号关联,为了下次测试能使用,一般等网页弹窗结束,不会出现这问题))

修复方案:


1.那个接口增加密码错误次数超过几次,加上验证码
2.登录可以试试加密,不要用明文
3.最好验证下百度帐号是否真的处于在线状态(其实不用也无所谓,只要用token)
4.可以判断下,接受的token不能为空
5.在别的网站绑定人人帐号的时候,跳转过来的时候加上确认按钮,至少让用户确认下要不要绑定
6.顺便抱怨下,码字很累啊

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-05-18 17:23

厂商回复:

谢谢

最新状态:

暂无


漏洞评价:

评论