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

2019年11月21日14:12:47 评论 976

漏洞介绍

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

防范建议

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

http://www.oniont.cn/index.php/archives/298.html

高性能云服务器2折起

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: