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

wordpress支付文件在哪手机系统优化是什么意思

wordpress支付文件在哪,手机系统优化是什么意思,企业网站功能模块介绍,wordpress ent主题Apache ShiroApache Shiro是一个功能强大且灵活的开源安全框架,主要功能包括用户认证、授权、会话管理以及加密。在了解该漏洞之前,建议学习下Apache Shiro是怎么使用.debug环境jdk1.8Apache Shiro 1.2.4测试demo本地debug需要以下maven依赖!-- https://mvnrepository.com/…Apache ShiroApache Shiro是一个功能强大且灵活的开源安全框架,主要功能包括用户认证、授权、会话管理以及加密。在了解该漏洞之前,建议学习下Apache Shiro是怎么使用.debug环境jdk1.8Apache Shiro 1.2.4测试demo本地debug需要以下maven依赖!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --dependencygroupIdorg.apache.shiro/groupIdartifactIdshiro-core/artifactIdversion1.2.4/version/dependency !-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-web --dependencygroupIdorg.apache.shiro/groupIdartifactIdshiro-web/artifactIdversion1.2.4/version/dependency漏洞产生流程一般登录时,存在记住我的功能,如下图: Apache Shiro框架就是在实现该功能时存在漏洞.Apache Shiro如何记住我?序列化用户身份对象.(这里为SimplePrincipalCollection)对序列化后的数据进行AES加密,密钥为常量.base64编码设置到cookie中,cookie name等于rememberMe.Apache Shiro如何解析我?读取cookie中的rememberMe的值.对其值进行base64解码.AES解密反序列化我们如何攻击?通过以上,我们可以看出,只要手动构造一个反序列化payload,进行AES加密(密钥我们知道的)和base64编码,即可在反序列化时执行任何操作.源码解析记住我源码分析打开登录界面,输入admin/vulhub,勾选Remember me,点击登录.首先进入用户代码中调用Apache Shiro验证接口的方法. 接着正式进入Apache Shiro处理. 一些不重要的调用过程省略,调用栈如下: 我们在org.apache.shiro.mgt/AbstractRememberMeManager.onSuccessfulLogin下断点. 从上面代码我们发现,首先程序清理了验证信息.接着调用rememberIdentity来保存新的验证信息.跟进该方法. 我们发现该方法首先去获取一个PrincipalCollection对象.该对象就是保存在cookie中的对象.接着调用rememberIdentity保存该对象.跟进rememberIdentity方法. 我们先看它是如何反序列化和AES加密的.跟进byte[] bytes convertPrincipalsToBytes(accountPrincipals);. 从以上代码可以发现,调用serialize序列化为byte数组.这一步不做分析.我们重点看看如何进行AES加密的.跟进encrypt(bytes). 首先该方法获取AES加密service.再通过getEncryptionCipherKey()得到密钥.最后对序列化后的对象进行加密.其中密钥是一个常量,该常量在org/apache/shiro/mgt/AbstractRememberMeManager.AbstractRememberMeManager设置.常量值如下: 回到rememberIdentity方法,我们继续来看下面的rememberSerializedIdentity方法. 通过以上过程,Apache Shiro完成了如何记住我.解析我源码分析在源码分析之前,提一个debug遇到的坑,Apache Shiro在设置rememberme这个cookie的同时也会设置一个JSessionid cookie,当通过浏览器进行发送请求,请删除掉JSessionid cookie,否则Apache Shiro通过JSessionid获取验证信息,并不会经过解析我的过程,也就无法debug 我们在上一步登录后,删除JSessionid cookie,访问http://localhost:8080.在org/apache/shiro/mgt/DefaultSecurityManager.getRememberedIdentity下断点. 该方法主要获取存储在cookie中的Principal对象,我们跟进getRememberedPrincipals方法内. 从上述源码可以发现,通过getRememberedSerializedIdentity进行cookie的提取和base64解密.接着通过convertBytesToPrincipals进行AES解密和反序列化得到Principals对象.我们重点看看convertBytesToPrincipals该方法. 很显然,该方法中通过decrypt进行AES解密.跟进decrypt. 该方法和加密基本一样.先获取cipherService,再通过密钥解密. 再回到convertBytesToPrincipals方法中.调用deserialize进行反序列化.至此反序列化漏洞的触发过程就结束了.修复我们再来看看1.2.5如何修复的. 1.2.5: 1.2.4: 通过上述可以看出1.2.5将密钥动态生成.避免了攻击者可以自己生成序列化恶意对象.这个漏洞可以说是硬编码密钥导致的反序列化漏洞.最后关于该漏洞的利用可以参考vulhub.该文章旨在分享,后面也会就vulhub上的demo来做一系列的漏洞原理的分享.
http://www.huolong8.cn/news/277831/

相关文章:

  • 上海机械设备有限公司网站建设淮南品牌网站建设电话
  • 兰州网站建设运营方案网站设计制作开发
  • 南昌做网站建设哪家好建设厅官方网站职称
  • 海南网站优化公司关于进行网站建设费用的请示
  • 音乐网站要怎么做重庆市设计院官网
  • 济宁网站建设流程网页设计与制作项目教程素材
  • 上海做网站公司有哪些有什么免费企业网站是做企业黄页的
  • 找素材的网站做网站拉客户有效吗
  • 延安网站制作怎么把wordpress后台设置成中文
  • 如何创建旅游网站论坛门户网站建设
  • wordpress网站百度收录首页株洲企业网站建设工作室
  • 做网站备完备案需要干什么广州工程交易服务中心
  • 金融行业做网站需要什么黄骅市邮政编码
  • 深圳手机集团网站建设案例查询网站
  • 网站的种类网站建设980元
  • 商务网站的功能升级网页
  • 网站开发python和c 哪个好个人网站怎么申请注册
  • 家居东莞网站建设西域数码网站建设
  • 上海网站建设公司招聘开发者软件下载
  • 长沙网站建设有限公司新乡市建设工程网站
  • 简单网站后台模板禄劝网络推广外包
  • wordpress 企业内网西安关键词优化服务
  • 教育主管部门建设的专题资源网站是做下载网站有哪些
  • 做外贸网站公司哪家安徽网站建设公司哪家好
  • 网站建设分为几种网站建设与优化推广的话术
  • 百度竞价入门教程企业关键词排名优化哪家好
  • vps 内存影响 网站宁波网站推广平台咨询公司
  • 做网站枣庄怎么建立和设计公司网站
  • 秋长网站建设手机网站优化
  • 灯具电商网站建设方案网站设计与网站制作