前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >账户接管(Account Takeover)漏洞挖掘及实战案例全汇总

账户接管(Account Takeover)漏洞挖掘及实战案例全汇总

作者头像
Jayway
发布2019-09-29 17:29:54
4.2K0
发布2019-09-29 17:29:54
举报
文章被收录于专栏:卓文见识卓文见识

1、漏洞理解:

首先澄清两个容易混淆的术语之间的区别:

身份验证(Authentication):验证某人是特定用户,是否正确提供其安全凭据(密码,安全问题答案,指纹扫描等)。

授权(Authorization):确认特定用户可以访问特定资源或被授予执行特定操作的权限。

所以,身份验证是知道实体是谁(who am I),而授权是知道给定实体可以做什么(what can I do)。后者涉及到的漏洞一般是“越权/IDOR”,本文谈论的是前者,身份验证方面缺陷,最常见也最严重的危害是完全的账户接管(Account Takeover)。ATO通常发生在金融、电商等行业系统,一旦发生必定是高危级的。

2、漏洞分类

涉及到账户认证的功能点一般有:

1)注册/登录

2)密码重置/找回(最常见):短信、邮箱

3)账户设置:CSRF

4)第三方账号绑定

5)用户凭证泄露:CORS、XSS、ClickJacking、重定向等

3、挖掘技巧

挖掘账户接管漏洞的思路是:

1、 关注涉及到用户鉴权的功能;

2、 理清功能的逻辑以及请求参数含义,猜测后端的验证逻辑;

3、 增删修改参数,比较回显的异同,寻找规律,确定逻辑是否可绕过。

4、实战案例

1)注册:Instagram暴力破解密码

Instagram允许通过其网站进行注册,使用密码passwd进行注册,注册成功后重放此数据包,显示“此认证属于一个激活的账号”:

删除请求中除“username”和“password”之外的所有参数后,使用正确的密码和一个不正确的密码重放,回显不一致,错误密码显示错误:

正确密码显示同上“已被激活”:

从而通过爆破获取正确密码:

2)Facebook验证码暴力破解

Facebook的主站设置速率限制及锁定机制,但子域beta.facebook.com通过短信/邮件找回密码时,验证码OTP未进行速率限制,导致有效时间内可爆破6位验证码:

爆破成功跳转进入设置新密码界面:

3)邮箱设置+CSRF

CSRF漏洞(传送门)中有涉及,/signup/email的API端点将账户与邮箱关联,构造csrf poc:

绑定邮箱后进行密码重置从而接管账户。

4)修改返回包

经典的前端验证绕过,要注意对于多过程的验证逻辑,操作是在Burp Suite请求包处右键—>Do intercept—>Response to this request。

如忘记密码,获取短信验证码后填写错误验证码,返回401:

将返回包中状态码401改为200,依旧失败:

将整个返回包修改为200,成功进入填写新密码的页面:

TIPS:可先探测操作成功的返回包,并将错误返回进行整包替换。

5)CORS窃取session token

若某个端点返回涉及到用户身份的token令牌,则可尝试通过CORS配置不当进行窃取,关于CORS可参考之前文章(传送门)。

6)HPP任意密码重置

重置密码处结合HPP思路(传送门),请求

https://hq.breadcrumb.com/api/v1/password_reset参数:

{"email_address":["admin@breadcrumb.com","attacker@evil.com"]}重复邮箱地址可将重置密码链接发往两个邮箱。

另一个参数相关的Paypal漏洞:使用其他方式如密保方式找回密码:

请求包中将两个密保参数SecurityQuestion删除:

成功绕过验证:

7)open redirect窃取jwt

开放重定向的其一利用手段(传送门),在用户登录之后再次请求登录跳转链接:

发现Location附带了用户凭证jwt,只要获取这个token值就获取了用户权限:

诱使用户点击跳转,访问受害者服务器的PHP文件,内容为:

攻击者通过查看日志获取受害者token,从而接管账号。

8)有规律可循的重置链接

印度一家大型公司的业务系统,发往邮箱的重置密码链接为:

http://www.xxx.com/account/resetpassword/?id=254346&token=dmFydW4wOTgxMUBnbWFpbC5jb20=&vit=MjAxNi8xMC8yNQ=

解码后发现token为账号的base64密文,vit为超时时间,修改参数可进行任意账号密码重置。

5、漏洞防御

了解漏洞的防御办法对于渗透工作者尤为重要,明白漏洞防御的各种手段,就能在挖掘中清楚哪些修复是“可以绕过”以及哪些是需要“尽早放弃”的。

比如对于身份验证,采用高复杂度的密码机制往往好过于双因素验证;任何涉及身份验证的端点都要在设置严格的速率限制或锁定机制;对于密码修改,验证旧密码是最好的办法;如采用了验证码机制要保证不被绕过;任何重要验证是否都是在服务器完成的等等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卓文见识 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2、漏洞分类
  • 3、挖掘技巧
  • 4、实战案例
  • 5、漏洞防御
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档