某HR系统组合漏洞挖掘过程

2024-04-26 893 0

前言

某天在项目中遇到一个奇怪的人才管理系统,fofa跑了一下发现用的还挺多,所以就有了后面的审计过程。在互联网翻到一份过期的源码,本地搭建起来开始审计。

审计过程

先看一下常见的RCE漏洞,发现这套系统大量的代码调用了beetl这个库,这个库是国内一个大佬开发的模板引擎,类似freemarker。

找到这套模板引擎漏洞触发点在GroupTemplate#getTemplate,全局搜了一下调用点发现在ComputationRuleUtil#getValue这个方法中有一处调用并且没有写死模版内容,其他多处都写死了模板内容。

某HR系统组合漏洞挖掘过程插图

可以看到该方法中拼接了s2,s2最终是来自于String src这个参数,期间被rule方法做了处理,观察rule方法可以发现,当我们传入的第一个字符串参数不包含@sum和@avg就会直接返回我们传入的参数

某HR系统组合漏洞挖掘过程插图1

下面全局搜索哪里调用了ComputationRuleUtil#getValue这个方法。

某HR系统组合漏洞挖掘过程插图2

找到PerformanceIndicatorServiceImpl#checkRule方法中有调用,参数也是从外部接收的

某HR系统组合漏洞挖掘过程插图3

继续查找checkRule的调用位置,定位到入口点/checkRule,到此请求参数rule并未发现任何过滤。

某HR系统组合漏洞挖掘过程插图4

后面看了一下shiro的鉴权配置,发现该接口并不是前台的。

某HR系统组合漏洞挖掘过程插图5

后面看了一下项目用的spring是低版本的存在一个登录绕过漏洞,可以通过/druid/../xxxx形式直接访问我们找到的后台路由。构造回显效果如下

某HR系统组合漏洞挖掘过程插图6

由于beetl高版本有黑名单过滤常见命令执行的payload,这里可以利用反射加载js去构造。

声明:该漏洞已通报给相关单位修复,本文章仅供代码审计学习


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

办事处网络安全监控与事件响应;国外员工终端安全性怎么保障 | FB甲方群话题讨论
拿不下总统之位,那就用热加载拿下验证码识别与爆破好了!
Sooty:一款SoC分析一体化与自动化CLI工具
shiro CVE-2016-6802 路径绕过(越权)
Apache Solr 身份验证绕过漏洞(CVE-2024-45216)详解
llama_index的CVE-2024-4181漏洞根因分析

发布评论