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

原文链接:https://cloud.tencent.com/developer/article/1516377

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

发布于2019-09-29 17:29:54阅读 3K0

本文被 1 个清单收录,推荐清单漏洞挖掘

img

1、漏洞理解:

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

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

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

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

2、漏洞分类

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

1)注册/登录

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

3)账户设置:CSRF

4)第三方账号绑定

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

img

3、挖掘技巧

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

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

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

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

4、实战案例

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

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

img

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

img

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

img

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

img

2)Facebook验证码暴力破解

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

img

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

img

3)邮箱设置+CSRF

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

img

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

4)修改返回包

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

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

img

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

img

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

img

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

5)CORS窃取session token

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

img

6)HPP任意密码重置

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

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

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

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

img

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

img

成功绕过验证:

img

7)open redirect窃取jwt

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

img

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

img

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

img

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

img

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

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

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

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

5、漏洞防御

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

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值