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

OnionT@KillBoy 渗透测试评论20,4907字数 764阅读2分32秒阅读模式

漏洞介绍

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 上。
Apache Shiro 远程代码执行漏洞复现

漏洞复现

1.访问shiro登录页面,并登陆
Apache Shiro 远程代码执行漏洞复现
Apache Shiro 远程代码执行漏洞复现

2.访问任意业务,抓包,得到Cookie中的rememberMe
Apache Shiro 远程代码执行漏洞复现

3.生成java payload
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections1 'touch /tmp/test' > payload.class
Apache Shiro 远程代码执行漏洞复现

4.执行exp,经过了一个多小时的爆破,得到padding oracle attack后的cookie
Apache Shiro 远程代码执行漏洞复现
Apache Shiro 远程代码执行漏洞复现

5.复制该cookie,然后重放一下数据库,即可成功执行命令
Apache Shiro 远程代码执行漏洞复现
6.检查一下执行结果,可以看到成功创建了一个test文件
Apache Shiro 远程代码执行漏洞复现

防范建议

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

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

免责声明:本站某些文章、信息、图片、软件等来源于互联网,由本网整理发表,希望传递更多信息和学习之目的,并不意味赞同起观点或证实其内容的真实性以及非法用途。 如设计、版权等问题,请立即联系管理员,我们会给予更改或删除相关文章,保证您的权利。
高性能云服务器2折起
 
OnionT@KillBoy
匿名

发表评论

匿名网友

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