shiro漏洞复现(CVE-2016-4437)
1、Shiro反序列化漏洞(CVE-2016-4437,Shiro-550)
漏洞原理:
shiro框架在登录时,如果勾选了RememberMe的功能,关闭浏览器再次访问时便无需再次登录,此时cookie中会增加一个rememberMe字段,其 value 的值是经过序列化、AES加密和Base64编码后得到的结果。
服务端在接收到一个Cookie时,会按照如下步骤进行解析处理:
- 检索RememberMe Cookie的值
- 进行Base64解码
- 进行AES解码
- 进行反序列化操作
由于在第4步中的调用反序列化时未进行任何过滤,导致可以触发Java反序列化漏洞,进而在目标机器上执行任意命令。
由于使用了AES加密,利用该漏洞需要获取AES的加密密钥,在Shiro1.2.4版本之前AES的加密密钥为硬编码,其默认密钥的Base64编码后的值为 kPH+bIxk5D2deZiIxcaaaA==
,于是就可得到Payload的构造流程:
恶意命令-->序列化-->AES加密-->base64编码-->发送Cookie
目前官方通过去掉硬编码的密钥每次生成一个密钥来解决其漏洞,但可以通过搜索引擎等方式收集到不同的密钥,提高对该漏洞的利用成功率。
yum install docker
systemctl start docker
docker pull medicean/vulapps:s_shiro_1
#重启dock
systemctl restart docker
docker run -d -p 8888:8080 medicean/vulapps:s_shiro_1
原本端口是8080给他换成8888
环境搭建成功:
爆破KEY
使用如下命令对dock进行操作
列出dock容器
docker ps
docker exec -it <容器ID或容器名称> /bin/bash
如果dock提示没有ifconfig这条命令,可以拷贝ifconfig到dock里面执行
先exit退出dock
docker cp /usr/sbin/ifconfig a91cdfd23276:/usr/sbin/ifconfig
THE END
0
二维码
海报
shiro漏洞复现(CVE-2016-4437)
1、Shiro反序列化漏洞(CVE-2016-4437,Shiro-550)
漏洞原理:
shiro框架在登录时,如果勾选了RememberMe的功能,关闭浏览器再次访问时便无需再次登录,此时cookie中会增加一个rememberMe字段,其 value 的值是……
共有 0 条评论