对于N Day漏洞如何自己找到它的利用链呢?我的方法是,先搞一个POC,直接下断点开始调试。一开始不必关注代码逻辑,一直单步运行,当发现漏洞触发了,如得到了DNS回显或者弹出了计算器,在这行代码处下断点,接着重新进行调试。不断循环,就可以找到导致漏洞触发的代码点。这时再根据审计工具如IDEA里的调用链有的放矢的分析代码执行流程。 pom文件 <…
fastjson解析流程 fastjsont提供了三种用于反序列化的方法,还有这三种方法的重载。 parse() parseObject() parseArray() 我们写一个Demo,分析下fastjson的反序列化流程。首先定义一个Person类,用于序列化。 package org.depenvul.com; import java.io.…
前言 2015年Gabriel Lawrence (@gebl)和ChrisFrohoff (@frohoff)在AppSecCali上提出利用Apache Commons Collections构造反序列化命令,并对Weblogic、 JBoss、 Jenkins等著名应用进行利用使得java反序列化漏洞得到极大关注。ysoserial是两位专家…
前言 介绍 环境搭建 环境搭建:下载源码后,直接使用IDEA打开,因为项目使用springboot搭建,所以无需手动配置服务器。 启动本地Mysql,在 src/main/resources/application.properties中修改Mysql账号密码。创建并导入数据库 create database tmalldemodb; use tm…
前言 介绍 oasys是一个OA办公自动化系统,使用Maven进行项目管理。基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,Bootstrap作为前端UI框架。 环境搭建 环境搭建:下载源码后,直接使用IDEA打开,因为项目使用springboot搭建,所以无需手动配置服务器。 启动本地Mysql…
前言 Java-Sec-Code是一个学习JavaEE代码审计的项目,项目地址:java-sec-code。 环境搭建: 下载源码后,直接使用IDEA打开,因为项目使用springboot搭建,所以无需手动配置服务器。 在src/main/resources/application.properties中修改下数据库参数,新建数据库,导入源文件中数…
环境搭建 ofcms是一个基于java技术研发的内容管理系统。 项目地址:ofmcms 1.同步pom文件。 2.在ofcms-admin\src\main\resources\dev\conf\db.properties配置自己mysql的账号密码,在数据库中新建ofcms数据库,将doc/sql中的sql文件导入。 配置服务器 账号密码: ht…
前言 介绍 华夏ERP(英文名:jshERP)是一款人气领先的国产ERP系统,目前拥有进销存+财务+生产的功能,我们对其2.3版本进行代码审计. 环境搭建 下载源码后,直接使用IDEA打开,因为项目使用springboot搭建,所以无需手动配置服务器。若再次打开时启动处报错,可删除文件夹.idea重新打开。 启动本地Mysql,在 src/main…
环境搭建 下载源码 从链接https://codeload.github.com/apache/shiro/zip/shiro-root-1.4.1下载 使用git下载 git clone https://github.com/apache/shiro.git git checkout shiro-root-1.2.4 构建war包 进入下载的源码…
Shiro介绍 漏洞分析 漏洞介绍 Shiro为了保存用户的登录信息,将持久化信息序列化、加密后保存在"remeberMe"字段中,而在Shiro<=1.2.4版本中,Shiro进行AES加密使用的KEY硬编码在代码中,攻击者因此可以构造恶意remeberMe Cookie值,触发反序列化漏洞。 触发流程: remeberMe Cookie值…