首页 > 其他分享 >Smartbi 身份认证绕过漏洞

Smartbi 身份认证绕过漏洞

时间:2023-07-25 17:45:06浏览次数:44  
标签:登录 Smartbi usermanager 认证 漏洞 smartbi 网安 UserManagerModule

内置账号密码登录

因为自己搭建的环境存在一些问题,可能是版本过高的原因,(奇奇怪怪的问题,用户没有权限),所以目前仅仅做概念性验证,对漏洞的原理进行分析。

在未登录的情况下访问接口 /smartbi/vision/RMIServlet

image

image

我们可以比较明显的看到对应的处理类 CheckIsLoggedFilter

smartbi.freequery.filter.CheckIsLoggedFilter#doFilter

image

从这里开始可能就是要进行比较详细的分析,首先是判断请求的路径是不是/vision/RMIServlet​ 是的话进入这个分支,然后判断请求体中是不是有以 windowUnloading​ 开头的字符串,这个跟另一种绕过方式有关,这里先不做分析

image

接下来依次判断是否有通过 POST 或者 GET 方法来获取参数 className​ methodName​ 如果没有的话,就对参数 encode 进行解码,对相关参数进行赋值

image

这里有一个判断,对类和方法进行鉴权操作,如果是 true 就会继续判断是否登录,只需要满足 FilterUtil.needToCheck​ 返回 false 就可以

smartbi.util.FilterUtil#needToCheck

image

我们就注意到从数据库登录的操作也是不需要鉴权就可以进行访问的

smartbi.usermanager.UserManagerModule

image

smartbi.usermanager.UserManagerModule#loginFromDB

image

smartbi.usermanager.SecurityServiceImpl#loginFromDB

image

这里直接比较的是从数据库中查询出的密码,所以我们就可以直接利用内置的账号和 MD5密码登录

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

image

image

admin 也是可以登录成功的

image

为什么不用原本的登录模式登录,首先原本的登录模式登录是不知道对应的账号和密码的其次我们再对原本的登录逻辑进行简单的分析

smartbi.usermanager.UserManagerModule#clickLogin

image

smartbi.usermanager.UserManagerModule#login

image

smartbi.usermanager.SecurityServiceImpl#login

image

主要的处理登录逻辑在这一部分

smartbi.usermanager.SecurityServiceImpl#loginDB

image

smartbi.usermanager.UserBO#isPasswordValidate

image

这里在进行比较的时候

首先 String passwordInLib = this.user.getPassword();​ 是从数据库中查找用户的密码,根据用户的密码开头的第一位字符,来进行处理比较

image

我们已经知道数据库中对应的值是 0a​ 但是并没有任何一个值对应的 MD5 的值是a​ 所以正常无法登录内置用户

漏洞修复

http://192.168.222.133:18080/smartbi/vision/sysmonitor.jsp

imageimage

同样的 POC 已经无法利用成功了,我们关注一下修复的代码内容

image

更多网安技能的在线实操练习,请点击这里>>

 

标签:登录,Smartbi,usermanager,认证,漏洞,smartbi,网安,UserManagerModule
From: https://www.cnblogs.com/hetianlab/p/17580446.html

相关文章

  • WEB漏洞—逻辑越权之水平垂直越权
    逻辑越权简介1.水平越权---通过更换的某个ID之类的身份标识,从而使A账号获取(修改、删除等)B/C/D账号数据(权限相同)。2.垂直越权---使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。3.未授权访问---通过删除请求中的认证信息后重放该请求,依旧可以访问......
  • kali用beef实现xss漏洞攻击测试
    一、Kali开启网络监听:serviceapache2start二、启动Kalibeef-xss模块:beef-xss如果需要查看密码路径root权限,可以用以下指令:vi/etc/beef-xss/config.yaml其它指令,如下:apt-getremovebeef-xss//卸载beef-xssapt-getpurgebeef-xss//删除beef-xss配置rm-r......
  • ABP VNext添加全局认证(如何继承AuthorizeFilter)
    前言目前公司采用的开发框架是ABPVNext微服务框架最近突然发现一个问题,ABP中如果控制器或服务层没有加 Authorize特性的话,则不会走身份认证,且不会认证Token如图: 但是项目已开发大半,一个个去补Authorize特性,工作量比较大,也容易产生遗漏就想着以前做单体应用的时候......
  • SAFe敏捷认证有什么用?SAFe大规模敏捷培训内容及收益
    其实我们参加培训或者认证学习不是为了公司,而是为自己。为自己的职业发展添砖加瓦,现在很多企业在裁员,要懂得给自己投资。现在一些大的知名的企业在做敏捷,如果懂敏捷,又有敏捷的认证证书,那在企业内影响力肯定是更大,更受重视。什么是SAFe?SAFe–ScaledAgileFramework是目前全球......
  • 用 BurpSuite 测试“逻辑漏洞”
    1、对客户端控件过度的信任;2、高级逻辑漏洞;3、低级逻辑缺陷;4、对异常输入的处理不一致;5、不一致的安全控制;6、工作流程验证不足;7、通过有缺陷的状态机绕过身份验证;8、业务规则执行存在缺陷;9、无限期货币逻辑缺陷;10、通过加密预言机绕过身份验证;11、身份验证漏洞,两用端点......
  • CKA认证
    凌晨考试,不用其他上网工具,家里电信宽带1000M考试过程不卡。  ......
  • 学习SAFe大规模敏捷认证有什么收益?
    ​什么是SAFeSAFe(ScaledAgileFramework)是全球运用最广泛的大规模敏捷框架。SAFe融合了精益、敏捷和DevOps,它是一个知识库,囊括了大量已被证明的精益敏捷实践和能力。SAFe的认证课程有:领导大规模敏捷-LeadingSAFe认证班大规模敏捷SAFeScrumMaster&LeadingSAFe双认证......
  • Ubuntu输入su提示认证失败的解决方法
    登录普通用户失败,报错信息:解决办法1、root用户登录失败解决办法使用su命令登录到root用户时,老是报"su:认证失败"错误。报这个错误的原因是root用户默认是被锁定了的,只要使用passwd命令重新设置下root密码即可。问题如下:zhy@zhy:~/桌面$sudopasswd[sudo]zhy的密码:<---输......
  • WEB漏洞—文件操作之文件下载读取
    文件下载,读取原理,检测,利用,修复等#利用数据库配置文件下载或读取后续接口密匙信息文件下载或读取后续#文件名,参数值,目录符号read.xxx?filename=down.xxx?filename=readfile.xxx?file=downfile.xxx?file=../..\.\./等%00?%23%20.等&readpath=、&filepath=、&......
  • HarmonyOS应用开发者基础认证
    HarmonyOS应用开发者基础认证难题如下:第一题第二题第三题今天发现华为开发者学堂有HarmonyOS应用开发者基础认证,然后就点击考试对自己学习做了一个测试,都是比较基础的开发,不过也有好几个难点,我在这里稍微列出一下难点(我是先接触的开发,再来考试的,所以后续提出的一些难题也希望能帮......