Apache Shiro 远程代码执行漏洞复现

·
漏洞复现 no tag November 18, 2019

漏洞介绍

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

影响版本

Apache Shiro 1.2.5, 1.2.6, 1.3.0, 1.3.1, 1.3.2, 1.4.0-RC2, 1.4.0, 1.4.1版本。

环境搭建

shiro 环境下载地址 https://github.com/jas502n/SHIRO-721
exp 下载地址 https://github.com/Geekby/shiro_rce_exp
复现环境:ubuntu16.04 + tomcat8 + shiro 1.4.1

将下载好的 samples-web-1.4.1.war 包部署到 tomcat 上。
11.png

漏洞复现

1.访问shiro登录页面,并登陆
22.png
33.png

2.访问任意业务,抓包,得到Cookie中的rememberMe
888.png

3.生成java payload
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections1 'touch /tmp/test' > payload.class
55.png

4.执行exp,经过了一个多小时的爆破,得到padding oracle attack后的cookie
exp.png
77.jpg

5.复制该cookie,然后重放一下数据库,即可成功执行命令
99.png
6.检查一下执行结果,可以看到成功创建了一个test文件
88.png

防范建议

目前官方尚未发布漏洞修复补丁
临时防范建议:
在安全设备尝试拦截爆破流量,及时阻止攻击者进行尝试性攻击。

  • 红队备忘录 - Windows凭证获取
  • 常见的恶意payload

_(:3 」∠)_
(抱歉)
这里不能评论哦


© 2021 OnionT's Blog. .