任意用户登录?就是这么简单

百家 作者:焦点安全应急响应中心 2021-01-29 19:53:15
前言

   “FSRC经验分享”系列文章,旨在分享焦点安全工作过程中的经验和成果,包括但不限于漏洞分析、运营技巧、SDL推行、等保合规、自研工具等。

    欢迎各位安全从业者持续关注~ 


1什么是任意用户登录

    

任何一个网站,只要开放注册,就有用户;有用户,就有身份认证机制。如果我们通过一些手法,绕过身份认证机制中的判断规则,就可以避开传统的密码/验证码检测,登录某个指定用户的账号,这就是任意用户登录。


2任意用户登录的整体测试思路


识别登录请求参数意义

   

通过不同身份(如买家/卖家)不同级别(如新注册/已实名/vip级别)的账号测试,对于登录请求中存在的和身份信息相关参数,均做好识别


关键词:key/token/userid/uid/encry/encrypt/iv/pass/user/code/flag 等


通过其他渠道获取参数

   

遇到加密的用户id,尝试在其他功能寻找其他用户的id,如:论坛/评论处、找回密码处、系统中调用接口处


遇到加密的参数,尝试寻找加密方法来解密

抓取返回包

   

burp勾上拦截response,通过返回包你可以看到不一样的风景


查看安全文档

   

如果网站使用第三方oauth认证,可以去搜官方api平台给出的安全文档,查看参数的实际价值


3登录功能处案例分析


返回包获取前台验证码

   

网站通过手机号登录,点击发送验证码,抓返回包,发现验证码明文返回,在前端认证。可以任意手机号登录


第三方uid登录

   
账号可通过第三方微博登录。授权weibo后通过weibo登录时,拦截到接口的返回包


返回包 里有一个uid,修改为weibo用户的oid,后面正常放包,可登录任意账号


4找回密码处案例分析


手机号找回

   

通过手机号找回密码功能,在确认验证码处发现findWayFlag参数,可修改导致后端认为验证码正确


邮箱找回

   

通过正常手段获取重置密码的链接,猜解链接的组成结构和内容(如用户名、userid或者时间戳等,通过简单加密构成)。构造重置他人密码的链接



key 参数为重置凭证,尝试分析生成方式。直接解密无果,尝试用 username、rvcode、sid 等三个参数的排列组合进行 md5/base64等,当尝试到 md5(username + sid) 时发现生成结果与邮件中的凭证一致:


只需要获取对方的邮箱和sid即可重置对方密码,而sid和邮箱可以直接在对方主页获取,可重置所有拥有邮箱信息的密码并进行登录


5个人信息修改处案例分析

修改他人认证信息

   

结合越权漏洞,可以修改指定用户id的手机/邮箱为自己使用的手机/邮箱,再通过正常的密码找回流程找回



修改自己个人信息为他人uid

   

在修改个人信息页面,查看各种功能,在上传头像页面抓包发现向后台发送了一个user.userid参数

将该参数修改为他人uid,重新刷新个人中心,发现已经登录至上传的uid所在的账户资料页面


6FSRC对任意用户登录的危害定级

任意用户登录,顾名思义就是任意指定一个用户,利用他的id、手机号等可猜测、有规律的身份信息就可以登录他的账号,该类型漏洞本质上的危害为可以获取该用户的应用内敏感信息。身份信息存在规律,可以通过脚本批量获取,因此通常按照【直接批量获取用户身份凭证】定为高危。

FSRC设立的目标,是收取真正存在的、可以对用户的数据造成各种影响的漏洞。因此并不是所有任意用户登录均为高危。我们会对真正有威胁、有价值的漏洞提高奖励,而实质上对业务影响较小的漏洞降低奖励,具体如下:

升级情况

   
漏洞业务属于MIC/新一站/百卓等用户数量大于百万的核心应用,且用户登录后的数据可以通过脚本批量获取,可以按照【直接导致严重敏感信息泄露的漏洞】定为严重。

登录之后,发现可以对用户的账户余额直接进行操作(如消费、提现)而不需要二次验证,可以按照【直接导致重大经济损失的交易支付漏洞】定为严重。

降级情况

   
漏洞利用的参数值无法通过查看/简单猜解等方法直接拿到。如参数加密且无法破解算法、无法获取他人的对应参数
此类漏洞会综合考虑参数的猜解难度、是否存在告警机制等,进行降级处理。

漏洞只能影响部分用户。如某应用授权QQ登录,可以通过QQ的某个uid登录。但该应用本身用户不多,绑定QQ的用户更少,只有一百多人。
此类漏洞影响范围不属于【任意用户】,按照定级标准属于【直接导致用户身份凭证被盗的漏洞】,定为中危

8FSRC的话


FSRC设立的本心,就是通过外部安全专家,帮助项目组消除可能存在的安全隐患。我们的目标其实就是收取真正存在的、可以对用户的数据造成各种影响的漏洞。


2021年我们修订了定级规则,真正按照漏洞可造成的实际危害来作为定级的第一标准。本质上减少收取了一些实质上对业务没有实际影响的漏洞,而通过举办活动和后续的调整,提高对真正有影响的漏洞的奖励。


我们也深深希望各位白帽能对漏洞的危害进行思考,如何将漏洞深度挖掘、组合利用,进而提出真正有威胁、有价值的漏洞。对于此类漏洞,FSRC也不会吝于安全币,一定会给出满意的奖励。

8免责声明



本文中提到的相关资源已在网络公布,仅供研究学习使用,请遵守《网络安全法》等相关法律法规。



9参考资料


任意密码重置系列(by yangyangwithgnu)

https://www.freebuf.com/author/yangyangwithgnu




焦点安全,因你而变
焦点科技漏洞提交网址:https://security.focuschina.com


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接