Apache Shiro padding oracle attack漏洞复现


Apache Shiro padding oracle attack漏洞复现

Shiro 使用了 AES-128-CBC 模式对 cookie 进行加密,导致恶意用户可以通过 padding oracle 攻击方式构造序列化数据进行反序列化攻击。

例如之前爆出来的 SHIRO-550 漏洞就是关于 remember 这个cookie 的问题。

环境搭建

shiro 打包环境下载地址 https://github.com/jas502n/SHIRO-721

exp 下载地址 https://github.com/Geekby/shiro_rce_exp

复现环境:ubuntu16.04 + tomcat8 + shiro 1.4.1

apt-get install tomcat8 tomcat8-docs tomcat8-examples tomcat8-admin

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

漏洞复现

  1. 访问shiro登录页面

  2. 输入用户名密码,点击 Remember Me

  3. 访问任意页面,得到 Cookie 中的 rememberMe

  4. 生成 java class payload

  5. 执行exp

得到padding oracle attack后的cookie

:破解时间较长,大概持续100min - 120min左右。

  1. 复制该cookie,重放数据包

  2. 检查执行结果

发现success文件成功被创建,命令可以被执行

参考

https://www.anquanke.com/post/id/192819

https://github.com/jas502n/SHIRO-721

https://github.com/wuppp/shiro_rce_exp


文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
Apache Flink 任意 Jar 包上传导致 RCE 漏洞 Apache Flink 任意 Jar 包上传导致 RCE 漏洞
Apache Flink 任意 Jar 包上传导致 RCE 漏洞Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速计算。 ApacheFlink
2019-11-20
下一篇 
in.security 提权靶场 in.security 提权靶场
in.security 提权靶场lin.security 靶场 是 Linux 配置问题导致提权的靶场,它基于Ubuntu(18.04 LTS)的 Linux 虚拟机,靶场提供许多权限提升的漏洞供我们练习关于 linux 权限的相关知识,下
2019-10-31
  目录