漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0106692
漏洞标题:逆向人人客户端,破解校验算法之<暴力破解+撞库>
相关厂商:人人网
漏洞作者: 小手冰凉
提交时间:2015-04-09 12:00
修复时间:2015-05-24 13:56
公开时间:2015-05-24 13:56
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-04-09: 细节已通知厂商并且等待厂商处理中
2015-04-09: 厂商已经确认,细节仅向厂商公开
2015-04-19: 细节向核心白帽子及相关领域专家公开
2015-04-29: 细节向普通白帽子公开
2015-05-09: 细节向实习白帽子公开
2015-05-24: 细节向公众公开
简要描述:
逆向人人客户端,破解校验算法之<暴力破解+撞库>
这是多年之前的发现了,写出来纪念那些日子,纪念那些被我爆破过的过客。。。。。
详细说明:
正常登陆人人,进行抓包,发现了比较多的字段
从上面不难看出除了sig这个字段之外其他都好说,产生数据后进行提交发现产生异常提示sig字段不正确。现在没办法只能逆向去计算这个sig值到底怎么计算出来的。具体过程比较复杂最后逆向出如下
按照这个方法再提交就能正常了,然后分析范围值,来确定密码时候正确,这里注意即使出现error_code 10000 密码仍然是正确的。
危害是可以进行暴力破解,当然也可以搞现在流行的撞库。
以上是大约两年前发现的问题,现在测试仍然存在,当时写了一个暴力破解程序,附在后面。请使用测试程序进行测试,源码都在里面。因为是vs的项目文件太多,只能百度云共享,厂家验证后如果感觉不合适请及时通知我取消分享
漏洞证明:
用我自己的账号进行测试爆破,我把自己的密码放在最后。
效率的话是代码写的比较久了 当时也不回优化。
下面是使用刚申请的账号进行测试。
随便生成2000个不正确的密码。然后把正确密码分别放在最后和最前面,测试结果如下
如上可以看出一共两次爆破出正确密码
这是第一次,是在第68个破解时正确
如上面所说返回"error_code":10000也是密码正确,这次是第2115次爆破。
修复方案:
禁用老版本的应用
次数过滤等
建议把校验算法等比较关键的东西写入jni中,提高逆向的门槛
链接: http://pan.baidu.com/s/1pJBPwc7 密码: uqg3
如果有问题请私信我,如果感觉不合适请私信我关闭分享
版权声明:转载请注明来源 小手冰凉@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2015-04-09 13:55
厂商回复:
非常感谢!
最新状态:
暂无