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
|
|
然后将下载好的 samples-web-1.4.1.war
包部署到 tomcat
上。
漏洞复现
-
访问shiro登录页面
-
输入用户名密码,点击 Remember Me
-
访问任意页面,得到 Cookie 中的 rememberMe
-
生成 java class payload
-
执行exp
得到padding oracle attack后的cookie
注
:破解时间较长,大概持续100min - 120min左右。
-
复制该cookie,重放数据包
-
检查执行结果
发现success文件成功被创建,命令可以被执行
参考
https://www.anquanke.com/post/id/192819