M03-Aiwin 2023-03-30 21:29 采纳率: 75%
浏览 13
已结题

Shiro GUI检测工具如何运行?

像以下这种Shiro的GUI工具,是咋运行出它的GUI界面的?

https://github.com/feihong-cs/ShiroExploit-Deprecated

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-31 19:31
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/666668
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:跨域 以及 shiro解决
    • 除此之外, 这篇博客: Shiro漏洞检测中的 工具一:ShiroExploit 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      支持对Shiro550(硬编码秘钥)和Shiro721(Padding Oracle)的一键化检测,支持多种回显方式

      1)工具下载

      ShiroExploit.V2.51

      2)下载成功,双击jar,打开工具运行界面
      双击此处的jar
      打开漏洞检测工具
      界面内容简介:
      –漏洞类型Shiro550-无需选择操作系统类型,无需提供rememberMe Cookie
      –漏洞类型Shiro721-需要选择操作系统类型,需要提供一个有效的rememberMe Cookie
      –复杂Http请求-支持直接粘贴数据包
      –可以手工指定特定的 Key 和 Gadget,默认不指定,会遍历所有的 Key 和 Gadget

      3)此处,直接使用工具检测 Shiro-550 漏洞,在目标地址的位置输入要检测的URL,点击下一步在这里插入图片描述
      4)选择漏洞检测方式,点击下一步

      由于该服务器不出网,所以选择回显进行检测
      由于该服务器不出网,所以选择回显进行检测

      各个漏洞检测方式说明:

      ① 选择使用 ceye.io 进行漏洞检测

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

      ② 选择 使用 dnslog.cn 进行漏洞检测

      • 可以不进行任何配置,每次启动时程序会自动从 dnslog.cn 申请一个 DNS Record。
      • 程序会首先使用 URLDNS 筛选出唯一 Key,然后依次调用各个 Gadget 生成 Payload
      • 缺点:少数时候 dnslog.cn 会间隔较久才显示 DNS 解析结果导致程序无法找到 Key 或者有效的 Gadget,且 dnslog.cn 只会记录最近的10条 DNS 解析记录

      ③ 选择 使用 JRMP + dnslog 进行漏洞检测

      • 需要在 VPS 上通过命令java -cp ShiroExploit.jar com.shiroexploit.server.BasicHTTPServer [HttpSerivce Port] [JRMPListener Port]开启HttpService/JRMPListener,并按照要求填入相应 IP 和端口
      • 如果开启 HttpService/JRMPListener 时未指定端口号,则 HTTPService 默认监听 8080 端口,JRMPListener 默认监听 8088 端口
      • 使用 JRMP 的方式进行漏洞检测,可以显著减小 cookie 大小
      • 程序会首先使用 URLDNS 筛选出唯一 Key,然后使用 JRMP 依次为各个 Gadget 生成对应的 JRMPListener

      ④ 选择 使用回显进行漏洞检测

      • 针对不出网的情况进行漏洞检测,此时可以检测的 Gadget 类型会少于使用 DNSLog 方式的 Gadget类型
      • 目前主要是通过将命令执行结果写入 Web 目录下然后读取的方式实现回显
      • 需要提供一个静态资源 URL,程序会将此静态资源所在的目录当做写入目录
      • 注:开始的时候使用 https://blog.csdn.net/fnmsd/article/details/106709736 介绍的方式实现回显,在本地可以测试成功,但是在实际环境中基本不成功(可能是我的姿势有问题,欢迎探讨),所以目前是通过读写文件的方式实现回显,后期可能会加入其它方式

      5)等待检测结果

      • 程序在判断目标应用是否存在漏洞时,窗口上部的输入框无法进行输入
      • 当程序检测出目标应用存在漏洞时,输入框可以进行输入并执行命令

      a.如下图,则检测到了目标存在Shiro反序列化漏洞
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/cb5ff0c9d53a42229f3d5031cbe4125f.png

      b.若没有漏洞,则弹窗显示不存在漏洞:

      在这里插入图片描述


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月31日
  • 已采纳回答 3月31日
  • 创建了问题 3月30日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么