Shiro反序列化漏洞分析及代码审计 漏洞简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.   Apache Shiro默认使用了CookieRememberMeManager,用户登录成功后会生成经过加密并编码的cookie,在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞. 漏洞影响 Apache Shiro < 1.2.4 漏洞分析 这里是直接从github拉下来得,…
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…
Java安全之Shiro 550反序列化漏洞分析 首发自安全客:Java安全之Shiro 550反序列化漏洞分析 0x00 前言 在近些时间基本都能在一些渗透或者是攻防演练中看到Shiro的身影,也是Shiro的该漏洞也是用的比较频繁的漏洞.本文对该Shiro550 反序列化漏洞进行一个分析,了解漏洞产生过程以及利用方式. 0x01 漏洞原理 Shiro 550 反序列化漏洞存在版本:shiro <1.2.4,产生原因是因为shiro接受了Cookie里面rememberMe的值,然后去进行Ba…
Shiro 550反序列化漏洞分析 一.漏洞简介 影响版本:Apache Shiro < 1.2.4 特征判断:返回包中包含rememberMe=deleteMe字段. Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie.在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞. 那么,Payload产生的过程: 命令=>序列化=>AES加密=>ba…
java反序列化漏洞是与java相关的漏洞中最常见的一种,也是网络安全工作者关注的重点.在cve中搜索关键字serialized共有174条记录,其中83条与java有关:搜索deserialized共有20条记录,其中10条与java有关.这些出现反序列化漏洞的框架和组件包括的大名鼎鼎的spring,其中还有许多Apache开源项目中的基础组件.例如Apache Commons Collections. 这些基础组件大量被其他框架或组件引用,一旦出现漏洞就会引起大面积的网络安全事故,后果非常严…
相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 http://www.tuicool.com/articles/ZvMbIne http://www.freebuf.com/vuls/86566.html http://sec.chinabyte.com/435/13618435.shtml http://www.myhack58.com/Articl…
Java安全之Cas反序列化漏洞分析 0x00 前言 某次项目中遇到Cas,以前没接触过,借此机会学习一波. 0x01 Cas 简介 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目,开源的企业级单点登录解决方案. 0x02 远程调试环境搭建 下载地址,将环境war包下载,部署到tomcat即可 tomcat目录bin文件下,startup_debug.bat call %EXE…
目录 0x00 废话 0x01 简单介绍 FastJson的简单使用 0x02 原理分析 分析POC 调试分析 0x03 复现过程 0x04 参考文章 0x00 废话 balabala 开始 0x01 简单介绍 介绍:FastJson是一款由阿里开发的JSON库 影响版本:1.2.22-24 官方通告:https://github.com/alibaba/fastjson/wiki/security_update_20170315 补丁:https://github.com/alibaba/fa…
背景 某公司线上服务器意外发现一个Apache Shiro 反序列化漏洞,可以直接GetShell.出于做安全的谨慎,马上出现场应急,确认漏洞.该漏洞存在在cookie字段中的rememberMe字段中,可以RCE 漏洞应急 来到现场后,发现已经升级了,漏洞确认修复完成,只能查看以前的攻击痕迹. 查看账号情况 首先查看账户文件/etc/passwd,修改时间和内容没有什么问题 stat /etc/passwd cat /etc/passwd 查看文件情况 查看最近修改过的文件没看到特殊异常 ls…
ref:https://mp.weixin.qq.com/s?__biz=MzIzMzgxOTQ5NA==&mid=2247484200&idx=1&sn=8f3201f44e6374d65589d00d91f7148e readme:其实所有的反序列化漏洞都是因为在反序列化过程中,执行函数存在文件读写或者命令执行等情况. 3.2.2版本之前的Apache-CommonsCollections存在该漏洞. Java安全之反序列化漏洞分析 原创 Java面试那些事儿 2017-10-…
Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system restart docker 启动docker镜像: docker run -d -p 8082:8080 medicean/vulapps:s_shiro_1 访问: http://192.168.1.192:8082/ 环境搭建成功 攻击机:139.199.179.167 受害者:192.168.19…
Java安全之Fastjson反序列化漏洞分析 首发:先知论坛 0x00 前言 在前面的RMI和JNDI注入学习里面为本次的Fastjson打了一个比较好的基础.利于后面的漏洞分析. 0x01 Fastjson使用 在分析漏洞前,还需要学习一些Fastjson库的简单使用. Fastjson概述 FastJson是啊里巴巴的的开源库,用于对JSON格式的数据进行解析和打包.其实简单的来说就是处理json格式的数据的.例如将json转换成一个类.或者是将一个类转换成一段json数据.在我前面的学习…
0x01前言 之前在我反序列化的那篇文章中(https://www.cnblogs.com/lcxblogs/p/13539535.html),简单说了一下反序列化漏洞,也提了一嘴常见的几种Java框架的反序列化漏洞 当时没想继续说的,但是因为最近正好遇到了,就再来说说关于Apache shiro Java反序列化漏洞的一点思考(本文特指shiro rememberMe 硬编码密钥反序列化漏洞即shiro 550,不是Shiro Padding Oracle Attack那个shiro 721的…
Fastjson 1.2.22-24 反序列化漏洞分析(2) 1.环境搭建 我们以ubuntu作为被攻击的服务器,本机电脑作为攻击者 本机地址:192.168.202.1 ubuntu地址:192.168.202.129 JDK版本:jdk8u102 1.1 被攻击服务器 这里用ubuntu模拟被攻击的服务器 在ubuntu搭建一个springboot网站,用来模拟解析fastjson: pom.xml <parent> <groupId>org.springframework.b…
Fastjson 1.2.22-24 反序列化漏洞分析(1) 前言 FastJson是alibaba的一款开源JSON解析库,可用于将Java对象转换为其JSON表示形式,也可以用于将JSON字符串转换为等效的Java对象. 影响版本:1.2.22-24 官方通告:https://github.com/alibaba/fastjson/wiki/security_update_20170315 补丁:https://github.com/alibaba/fastjson/commit/d0757…
Fastjson反序列化漏洞分析 1.2.22-1.2.24 Fastjson是Alibaba开发的Java语言编写的高性能JSON库,用于将数据在JSON和Java Object之间互相转换,提供两个主要接口JSON.toJSONString和JSON.parseObject/JSON.parse来分别实现序列化和反序列化操作. 环境 Tomcat 8.5.56 org.apache.tomcat.embed 8.5.58 fastjson 1.2.24 漏洞版本: fastjson 1.2.…
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里引用组件的版本? 大多…
漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 Apache Shiro框架提供了记住我(RememberMe)的功能,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问. Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManaer类中将cookie中rememberMe…
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.一键…
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序.它编号为550的 issue 中爆出了严重的 Java 反序列化漏洞. 漏洞影响版本:Apache Shiro 1.2.4 Shiro反序列化特征:在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段 shiro反序列化复现 环境: 我们的公网VPS:1…
0x00 漏洞简介 CVE-2018-18753 漏洞概述: typecho 是一款非常简洁快速博客 CMS,前台 install.php 文件存在反序列化漏洞,通过构造的反序列化字符串注入可以执行任意 PHP 代码. 影响版本:typecho1.0(14.10.10) 0x01 环境搭建 上传源码到 WEB 目录,上传完毕后使用浏览器直接访问安装目录即可看到 Typecho 的 安装程序 install.php. 提前在 Mysql 数据库中创建好一个库 名 Typecho,下一步会使用这个数…
先上学习链接: https://www.freebuf.com/column/202607.html https://www.cnblogs.com/ichunqiu/p/10484832.html https://blog.csdn.net/weixin_44077544/article/details/102703489 https://www.jianshu.com/p/3b44e72444c1 知识点:PHP反序列化漏洞,字符逃逸. 着重记录一点:[转自https://www.jians…
下面是k8脚本. # -*- coding: utf-8 -*- # Oracle Weblogic Server (10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3) Deserialization Remote Command Execution Vulnerability (CVE-2018-2628) from __future__ import print_function import binascii import os import socket im…
0x00 前言   Java反序列化的漏洞爆发很久了,此前一直想学习一下.无奈Java体系太过于复杂,单是了解就花了我很久的时间,再加上懒,就一直拖着,今天恰好有空,参考@iswin大佬两年前的分析,我自己跟踪了一下流程,并按自己的想法重写了一下POC,在此做个记录. 0x01 漏洞环境搭建   首先我们需要明确的是,该漏洞影响的范围是Groovy 1.7.0-2.4.3.我们借助于Idea构建一个空白的maven项目,然后配置pom.xml文件,添加如下依赖: <dependencies>…
环境搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 # 80是指靶机端口,可随意修改 Windows安装模块:pip install pycryptodome 挖掘思路 判断漏洞 登录的时候发现 rememberMe 参数,判断是 shiro (外网可以访问的情况下)利用在线POC进行验证:http://sbd.ximcx.cn/ShiroRce/ 利用 P…
1.漏洞原理: Shiro 是 Java 的一个安全框架,执行身份验证.授权.密码.会话管理 shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的 cookie值–>Base64解码–>AES解密–>反序列化 然而AES的密钥是硬编码的,就导致了攻击者可以构造恶 意数据造成反序列化的RCE漏洞. 2.特征判断: 返回包中包含rememberMe=deleteMe字段. 3.如何去利用: (1)反序列化--->AE…
目录 信息收集 poc 参考 信息收集 poc # pip install pycrypto import sys import base64 import uuid from random import Random import subprocess from Crypto.Cipher import AES def encode_rememberme(command): popen = subprocess.Popen(['java', '-jar', 'ysoserial-0.0.6-S…
0x00 前言 今天上班的时候收到了一个复测的任务,打开一看,shiro反序列化漏洞,What?这是个什么东西,经百度查找后才知道,原来是Java的开发框架,好吧,还是没听说过..由于初测报告上的过程过于简略(唯一有用的只有KEY),所以不得不自己研究一番了. 0x01 环境搭建 漏洞版本<=1.2.4,使用docker搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d -p 80:8080 medicean/vulapps:s_shi…
Java审计之CMS中的那些反序列化漏洞 0x00 前言 过年这段时间比较无聊,找了一套源码审计了一下,发现几个有意思的点拿出来给分享一下. 0x01 XStream 反序列化漏洞 下载源码下来发现并不是源代码,而是一个的文件夹,里面都已经是编译过的一个个class文件. 在一个微信回调的路由位置里面找到通过搜索类名 Serialize关键字找到了一个工具类,并且参数是可控的. 这里调用xstream.fromXML(xml)进行反序列化. 而下面这个看了一下lib文件夹下面的组件其实是有着cc…
首发于freebuff. WebGoat-Insecure Deserialization Insecure Deserialization 01 概念 本课程描述了什么是序列化,以及如何操纵它来执行不是开发人员最初意图的任务. 目标 1.用户应该对Java编程语言有基本的了解 2.用户将能够检测不安全的反序列化漏洞 3.用户将能够利用不安全的反序列化漏洞 反序列化的利用在其他编程语言(如PHP或Python)中略有不同,但这里学到的关键概念也适用于所有这些语言 Insecure Deseria…