其他
Jeecgboot|SpringKill的0day越权issue提交过程
01
大爹发问
02
上次发布半小时留言
03
Jeecg介绍
JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x/3.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性!一系列低代码能力:Online表单、Online报表、Online图表、仪表盘/门户设计、表单设计、流程设计、报表设计、大屏设计 等等...
04
issue地址
https://github.com/jeecgboot/JeecgBoot/issues/5270#issuecomment-2227227632
该漏洞通过使用低权限账号,通过接口组合关联roleId和userId将当前用户绑定进管理员组中,从而进行接管控制管理员后台。
大致描述一下SpringKill对该漏洞的发现过程:在对项目审查过程中发现接口的@RequiresPermissions缺失,从而引发某人瞎鸡儿看看,上手抓了两个包随手一试,就出来了问题,对某人来说吧这是没啥含量的,但是某人最近给甲方内部建设开发项目,没空给呆哥研究文章了。
04
漏洞详情
01
版本号
3.5.3
02
前端版本
Vue3
03
过程
创建一个新用户testup,不给任何权限:
使用testup登录,拿到没权限的token,发送如下数据包拿到admin1组的id和用户id:
用拿到的数据作为内容,发送:
重新登陆,完成权限提升,后面的手动添加组就行了不用发包: