首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
shiro721反序列化rememberMe字段
2024-11-10
Shiro反序列化漏洞利用汇总(Shiro-550+Shiro-721)
Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性. 文章目录: 1.Shiro rememberMe反序列化漏洞(Shiro-550) 1.1 漏洞原理 1.2 影响版本 1.3 漏洞特征 1.4 漏洞利用 1.4.1 利用方式一 1.4.2 利用方式二 2.Shiro Padding Oracle Attack(Shiro-721) 2.1 漏洞原理 2.2 影响版本 2.3 漏洞利用 3.一键
c# XML序列化与反序列化 属性字段标识
序列化对象 public class People { [XmlAttribute("NAME")] public string Name { set; get; } [XmlAttribute("AGE")] public int Age { set; get; } } [XmlRoot("Root")] public class Student : People { [XmlElement("CLASS")] public
jack反序列化自定义字段绑定,报错:can only instantiate non-static inner class by using default, no-argument constructor
package com.xxx; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; public class TestJsonNode { @Test public void test() { String json = "{\"status\": 0, \"
objectMaaper 反序列化json字段多于或少于实体处理
两种方式 1 忽略json上未知的字段 设置实体类注解 @JsonIgnoreProperties(ignoreUnknown = true) public class Foo { ... } 2 配置objectMapper public static <T> T JsonNode2Entity(JsonNode node,Class t ,boolean throwErr) throws RuntimeException { ObjectMapper objectMapper = new
java 输入输出 对象序列化implements Serializable与反序列化:ObjectOutputStream.writeObject() ;objectInputStream.readObject() ;serialVersionUID字段注意
对象序列化 对象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象.对象序列化机制允许把内存中的 Java 对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,通过网络将这种二进制流传输到另1个网络节点.其他程序一旦获得了这种二进制流(无论是从磁盘中获取的,还是通过网络获取的) ,都可以将这种二进制流恢复成原来的 Java 对象 如何来使用对象序列化? 前提: 首先,一个类要被序列化,那么它必须实现如下两个接口之一: Serializable Extemalizab
一次关于shiro反序列化漏洞的思考
0x01前言 之前在我反序列化的那篇文章中(https://www.cnblogs.com/lcxblogs/p/13539535.html),简单说了一下反序列化漏洞,也提了一嘴常见的几种Java框架的反序列化漏洞 当时没想继续说的,但是因为最近正好遇到了,就再来说说关于Apache shiro Java反序列化漏洞的一点思考(本文特指shiro rememberMe 硬编码密钥反序列化漏洞即shiro 550,不是Shiro Padding Oracle Attack那个shiro 721的
Shiro反序列化利用
Shiro反序列化利用 前言:hvv单位这个漏洞挺多的,之前没专门研究打法,特有此篇文章. Shiro rememberMe反序列化漏洞(Shiro-550) 漏洞原理 Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie.在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞. 那么,Payload产生的过程: 命令=>序列化=>AES加密=>base6
Apache Shiro Java反序列化漏洞分析
1. 前言 最近工作上刚好碰到了这个漏洞,当时的漏洞环境是: shiro-core 1.2.4 commons-beanutils 1.9.1 最终利用ysoserial的CommonsBeanutils1命令执行. 虽然在ysoserial里CommonsBeanutils1类的版本为1.9.2,不过上面环境测试确实可以命令执行. CommonsBeanutils1 @frohoff commons-beanutils:1.9.2 这里当时有一个问题是:如何获取Java里引用组件的版本? 大多
应急响应--记录一次漏洞紧急处理中意外发现的挖矿木马(Shiro反序列化漏洞和ddg挖矿木马)
背景 某公司线上服务器意外发现一个Apache Shiro 反序列化漏洞,可以直接GetShell.出于做安全的谨慎,马上出现场应急,确认漏洞.该漏洞存在在cookie字段中的rememberMe字段中,可以RCE 漏洞应急 来到现场后,发现已经升级了,漏洞确认修复完成,只能查看以前的攻击痕迹. 查看账号情况 首先查看账户文件/etc/passwd,修改时间和内容没有什么问题 stat /etc/passwd cat /etc/passwd 查看文件情况 查看最近修改过的文件没看到特殊异常 ls
Apache Shiro<=1.2.4反序列化RCE漏洞
介绍:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理. 漏洞原因:因为shiro对cookie里的rememberme字段进行了反序列化,所以如果知道了shiro的编码方式,然后将恶意命令用它的编码方式进行编码并放在http头的cookie里,在shiro对提交的cookie的rememberme字段进行反序列化时,也就执行了插入的命令,最终造成了命令执行 shiro默认使用了CookieRememberMeManager,其处理cookie的流程
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现 环境搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d -p 8080:8080 medicean/vulapps:s_shiro_1 # 访问 靶机IP:8080 出现如下图环境即可 Apache Shiro特征 Cookie中构造rememberMe,返回包会有rememberMe=deleteMe apache-maven(mvn)安装 官网下载:
Apache Shiro 反序列化漏洞复现(CVE-2016-4437)
漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 Apache Shiro框架提供了记住我(RememberMe)的功能,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问. Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManaer类中将cookie中rememberMe
Java安全之Shiro 550反序列化漏洞分析
Java安全之Shiro 550反序列化漏洞分析 首发自安全客:Java安全之Shiro 550反序列化漏洞分析 0x00 前言 在近些时间基本都能在一些渗透或者是攻防演练中看到Shiro的身影,也是Shiro的该漏洞也是用的比较频繁的漏洞.本文对该Shiro550 反序列化漏洞进行一个分析,了解漏洞产生过程以及利用方式. 0x01 漏洞原理 Shiro 550 反序列化漏洞存在版本:shiro <1.2.4,产生原因是因为shiro接受了Cookie里面rememberMe的值,然后去进行Ba
shiro<1.2.4反序列化分析
0x01.环境搭建 下载地址:https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4 环境:Tomcat 8.5.27 + idea 2020.2 + jdk 1.8 +maven 3.6 下载之后之后直接打开,并open这个web文件夹即可,其他自行百度就行,其中还需要导入一些jstl的jar等等 0x02.漏洞原理 shiro默认使用了CookieRememberMeManager,其处理cookie的流程是: 得到reme
漏洞复现-CVE-2016-4437-Shiro反序列化
0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场)(兼顾反弹shell的攻击机) 0x01 影响版本 Shiro <=1.2.24 0x02 入坑说明 (1)实验首先需要自行到github上下载exp 地址:https://github.com/insightglacier/Shiro_exploit (2)运行环境为python3 ,需要将pip更新:python3 -m pip install --upgrade p
shiro反序列化550、721
shiro550反序列化 获取docker镜像 docker pull medicean/vulapps:s_shiro_1 重启docker systemctl restart docker 启动docker镜像: docker run -d -p 8081:8080 medicean/vulapps:s_shiro_1 访问: http://ip:8081/ 环境搭建成功 检测 shiro721反序列化 环境搭建略 Shiro-721,需输入url,提供一个有效的rememberMe Coo
Shiro 550反序列化漏洞分析
Shiro 550反序列化漏洞分析 一.漏洞简介 影响版本:Apache Shiro < 1.2.4 特征判断:返回包中包含rememberMe=deleteMe字段. Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie.在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞. 那么,Payload产生的过程: 命令=>序列化=>AES加密=>ba
从commons-beanutils反序列化到shiro无依赖的漏洞利用
目录 0 前言 1 环境 2 commons-beanutils反序列化链 2.1 TemplatesImple调用链 2.2 PriorityQueue调用链 2.3 BeanComparator 3 Shiro无依赖paylaod CaseInsensitiveComparator java.util.Collections$ReverseComparator 4 总结 4.1 shiro反序列化的注意事项 4.2 shiro反序列化利用--注入内存马 0 前言 其实shiro的反序列化过程
Apache Shiro 反序列化漏洞分析
Shiro550 环境搭建 参考:https://www.cnblogs.com/twosmi1e/p/14279403.html 使用Docker vulhub中的环境 docker cp 将容器内的shiro的jar包copy出来 docker cp dd54fcfb67c6:/shirodemo-1.0-SNAPSHOT.jar ~/Desktop 解压jar包,IDEA打开,在libraries 导入该jar包 在modules 中添加解压后的jar中BOOT_INF目录 修改Docke
shiro550反序列化分析
拖了很久的shiro分析 漏洞概述 Apache Shiro <= 1.2.4 版本中,加密的用户信息序列化后存储在Cookie的rememberMe字段中,攻击者可以使用Shiro的AES加密算法的默认密钥来构造恶意的Cookie rememberMe值,发送到Shiro服务端之后会先后进行Base64解码.AES解密.readObject()反序列化,从而触发Java原生反序列化漏洞,进而实现RCE. 该漏洞的根源在于硬编码Key. 漏洞复现 使用shiroattack工具 Dnslog接收
热门专题
http请求什么情况下用binary当参数
quartz 如何新增一个任务
Excel 如何按分类排序,且不得破坏分类及汇总布局
ajax post请求设置编码
date_format sql精确到秒
数据定义create
.net Routes 重写
python mongdb 认证
rs485通信 地线作用
@property 和 cached_property
winserver2016 安装vmvare版本
python 意大利时间字符串转date
阮一峰 commit 规范
Ubuntu22.04开机动画无了
C# httpclient发送无参数Post
liteos系统的缺点
通过链接脚本指定动态链接器
英伟达 tensor core
powerbi 智能日期序列
PYTHON 相同子目录 IMPORT