网站建设图片如何加载,有的网站用流量打不开,百度学术论文官网入口,漳州做网站公司感谢互联网提供分享知识与智慧#xff0c;在法治的社会里#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证 说明内容漏洞编号CVE-2016-4437漏洞名称Apache_Shiro_1.2.4_反序列化漏洞漏洞评级… 感谢互联网提供分享知识与智慧在法治的社会里请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证 说明内容漏洞编号CVE-2016-4437漏洞名称Apache_Shiro_1.2.4_反序列化漏洞漏洞评级高危影响范围Shiro 1.2.5漏洞描述Apache Shiro 1.2.4及以前版本中加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie触发Java反序列化漏洞进而在目标机器上执行任意命令修复方案修改默认秘钥升级
1.1、漏洞描述
Apache Shiro是一款开源安全框架提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用同时也能提供健壮的安全性。
Apache Shiro 1.2.4及以前版本中加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie触发Java反序列化漏洞进而在目标机器上执行任意命令。
漏洞原理
Apache shiro框架提供了记住我的功能Rememberme),用户登录成功后生成经过加密并编码的cookie。cookie的key为remembermecookie的值是经过对相关的信息进行序列化然后实用aes加密最后在使用b ase64编码处理形成的。
在服务端接收到cookie值时按照如下步骤来解析处理
1、检索RememberMe cooike的值
2、b ase 64解码
3、使用aes解密加密秘钥硬编码
4、进行反序列化操作未做过过滤处理
在调用反序列化时未进行任何过滤导致可以出发远程代码执行漏洞利用条件
由于使用了aes加密想要成功利用漏洞则需要获取ase的加密秘钥而在shiro的1.2.4之前的版本中使用的硬编码。其中默认秘钥的b ase64编码后的值为kPHbIxk5D2deZiIxcaaaA这里就可以通过构造恶意的序列化对象进行编码加密然后欧威cooike加密发送服务端接受后会解密并触发反序列化漏洞。
尽管目前已经更新了许多版本官方并没有反序列化漏洞本身解决方法而是通过去掉硬编码的秘钥使其每次生成一个密码来解决给漏洞。但是目前一些开源系统、教程范例代码都使用了固定的编码这里可以通过搜索引擎github等来收集秘钥通过漏洞检查与利用的成功率
1.2、漏洞等级
高危
1.3、影响版本
Shiro 1.2.5
1.4、漏洞复现
1、基础环境
PathVulhub/shiro/CVE-2016-4437 启动测试环境
sudo docker-compose up -d访问http://your-ip:{端口}/即可看到可使用admin:vulhub进行登录 2、漏洞分析
未登录的情况下请求包中的cookie没有rememberMe字段返回包set-cookie里面也没有deleteme字段 登录失败的话不管勾选RememberMe字段没有返回包都会有remebermedeleteme字段 不勾选RememberMe字段登陆成功的话返回包set-Cookie会有rememberMedeleteMe字段。但是之后的所有请求中Cookie都不会有rememberMe字段 勾选RememberMe字段登陆成功的话返回包set-Cookie会有经过加密后的rememberMedeleteMe字段还会有rememberMe字段之后的所有请求中Cookie都会有rememberMe字段 3、漏洞验证
利用Shiro_exploit这样的exp工具 反弹到kali机器上 反弹Shell成功