Jeecgboot|SpringKill的0day越权issue提交过程

文摘   2024-07-16 17:35   北京  



此文章由SpringKiller安全研究师傅产出,这位佬是一个能独立开发一款企业级IAST,伸手0day伸脚1day,能手搓操作系统用脚逆向的师傅,还是OWASP的代码贡献者之一。哦,差点忘了,这个师傅能书会画,上厅堂下厨房无所不能,现在是甲方大爹。呆哥建议爱学习的可以找他击剑一下。

SpringKill师傅的Github地址:https://github.com/springkill



sdfd

 

01

大爹发问


 

02

Jeecg介绍


JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x/3.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性!一系列低代码能力:Online表单、Online报表、Online图表、仪表盘/门户设计、表单设计、流程设计、报表设计、大屏设计 等等...

03

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:

用拿到的数据作为内容,发送:

重新登陆,完成权限提升,后面的手动添加组就行了不用发包:

 



嗨嗨安全
提供网络安全资料与工具,分享攻防实战经验和思路。
 最新文章