Shiro反序列化工具——ShiroAttack2

本文介绍了Shiro反序列化漏洞的综合利用工具,包括命令执行和注入内存马功能。该工具修复了NoCC问题,并提供多种CommonsBeanutils版本的支持。用户可以自定义请求头,进行key爆破和修改。同时,文章指出4.5版本由于DFS算法导致的性能问题,建议手动尝试利用。


前言

      shiro反序列化漏洞综合利用,包含(回显执行命令/注入内存马)修复原版中NoCC的问题。作者为SummerSec。


一、项目地址

     1)https://github.com/SummerSec/ShiroAttack2。
在这里插入图片描述

二、工具特点

  • javafx
  • 处理没有第三方依赖的情况
  • 支持多版本CommonsBeanutils的gadget
  • 支持内存马
  • 采用直接回显执行命令
  • 添加了更多的CommonsBeanutils版本gadget
  • 支持修改rememberMe关键词
  • 支持直接爆破利用gadget和key
  • 支持代理
  • 添加修改shirokey功能(使用内存马的方式)可能导致业务异常
  • 支持内存马小马
  • 添加DFS算法回显(AllECHO)
  • 支持自定义请求头,格式:abc:123&&&test:123

三、使用教程

     1)双击直接使用或者在当前目录中开启cmd,然后输入以下命令:javaw -jar shiro_attack-4.5.6-SNAPSHOT-all.jar等方式,在data文件夹中存在一个shiro_keys.txt的文件,可自行添加key。
在这里插入图片描述

四、已知问题但目前无法解决

     1)有人反馈有些网站4.3版本能打,但4.4和4.5版本不行。排查了一波源码不同点,目前没找到问题所在地方。
     2)4.5版本更新ALLEcho之后,让工具变得“卡”,因为使用DFS算法,本身会有一定的延迟。这是算法本身原因,不可避免。所以4.5版本不建议使用爆破漏洞利用链功能,建议之间手动一个个尝试。

### 关于ShiroAttack2工具无法打开的问题解决方案 如果遇到 **ShiroAttack2** 工具无法正常运行的情况,可以尝试以下几个方面来排查和解决问题: #### 1. 环境依赖检查 确保本地开发环境满足以下条件: - Java Development Kit (JDK) 版本应与工具需求一致。通常建议使用 JDK 8 或更高版本[^3]。 - 如果工具需要特定库文件(如 Apache Commons Collections),需确认这些库已正确加载到项目的 classpath 中。 ```bash java -version javac -version ``` 上述命令可用于验证当前系统的 JDK 安装情况以及版本号是否匹配。 #### 2. 文件权限校验 某些情况下,由于操作系统级别的权限设置可能导致程序无法启动。可以通过调整目标 `.jar` 文件的访问权限解决此问题: ```bash chmod +x ShiroAttack2.jar ``` 执行以上指令赋予可执行属性给指定 JAR 包之后再重新尝试运行。 #### 3. 参数配置错误 部分用户可能因为未按照官方文档指示传入必要参数而导致失败。以下是标准启动方式的一个例子: ```bash java -jar ShiroAttack2.jar --help ``` 通过附加 `--help` 参数查看帮助信息了解具体选项含义及其默认值设定[^4]。 #### 4. 更新至最新版 考虑到原作者可能会修复旧版本中存在的 bug ,所以推荐始终获取最新的发布版本替代原有副本 。前往 GitHub 页面或者其它可信源下载新发行包并替换掉原来的二进制文件后再试一次。 --- ### 提供一段简单的代码片段演示如何生成rememberme cookie字符串 ```python from Crypto.Cipher import AES import base64 def encrypt(plain_text, key): cipher = AES.new(key,AES.MODE_ECB) padded_plaintext=pad_data(plain_text) encrypted_bytes=cipher.encrypt(padded_plaintext) return base64.b64encode(encrypted_bytes).decode('utf-8') # 填充数据函数定义省略... key=b'kPH+bIxk5D2deZiIxcaaaA==' payload='rememberMe=deleteMe; Path=/;' # 自定义载荷内容 cookie_value=encrypt(payload,key) print(f"Generated Cookie Value:{cookie_value}") ``` 注意这里仅为模拟示例实际攻击场景下请勿随意测试以免触犯法律风险[^1]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值