分类: Security

75 篇文章

Java反射修改static final修饰的字段
private 看一个最常见的例子 public class Pojo { private StringBuilder name = new StringBuilder("john"); public void printName() { System.out.println(name); } } 使用反射修改private修饰符的变量name i…
CommonsCollections11利用链分析
原理 首先先回顾一下之前CC1-CC7这七条链,我也忘得差不多了,总体分为两种方式实现代码执行吧: 第一种是CC1和CC6,核心是通过ChainTransformer.tranform方法链式调用构造好的ConstantTransformer.tranform和InvokerTransformer.transform方法,实现代码执行第二类是以CC…
Java Valve型内存马
Valve 是什么 我们要学习 Valve 型内存马,就必须要先了解一下 Valve 是什么 这一段内容引用枫师傅的文章原话,因为枫师傅这段话我觉得写的非常清楚,师傅们可以学习一下 在了解 Valve 之前,我们先来简单了解一下 Tomcat 中的管道机制。 我们知道,当 Tomcat 接收到客户端请求时,首先会使用 Connector 进行解析,…
Java Servlet型内存马
Servlet 创建 可以先看一下 Servlet 这个接口有哪些方法 public interface Servlet { void init(ServletConfig var1) throws ServletException; // init方法,创建好实例后会被立即调用,仅调用一次。 ServletConfig getServletCon…
Java Listener型内存马
Listener 基础知识 Java Web 开发中的监听器(Listener)就是 Application、Session 和 Request 三大对象创建、销毁或者往其中添加、修改、删除属性时自动执行代码的功能组件。 用途 可以使用监听器监听客户端的请求、服务端的操作等。通过监听器,可以自动出发一些动作,比如监听在线的用户数量,统计网站访问量、…
Java Filter型内存马
前言 学过 Servlet 的应该都知道 filter (过滤器),我们可以通过自定义过滤器来做到对用户的一些请求进行拦截修改等操作,下面是一张简单的流程图 从上图可以看出,我们的请求会经过 filter 之后才会到 Servlet ,那么如果我们动态创建一个 filter 并且将其放在最前面,我们的 filter 就会最先执行,当我们在 filt…
Java Tomcat内存马基础
内存马简介 内存马是无文件Webshell,就是服务器上不会存在需要链接的Webshell脚本文件。 原理 利用Java Web组件:动态添加恶意组件,如Servlet、Filter、Listener等。在Spring框架下就是Controller、Intercepter。修改字节码:利用Java的Instrument机制,动态注入Agent,在J…
浅谈JEP290
JEP290介绍 JDK Enhancement Proposal 简称JEP,是 JDK 增强提议的一个项目,目前索引编号已经达到了JEP415。 JEP290的描述是Filter Incoming Serialization Data,即过滤传入的序列化数据。JEP290 是 Java 为了防御反序列化攻击而设置的一种过滤器,其在 JEP 项目…
MySQL8.0新特性利用
MySQL 8.0环境搭建 由于本地配的mysql版本通常为mysql5.7 ,如果想换到mysql8.0 会有不小的麻烦(别问我是怎么知道的),这里直接使用MxSrvs中集成的mysql8.0.19,注意这里用到的新特性是在mysql8.0.19版本之后才有的。 MySQL 8.0新特性 information_schema.TABLESPACE…
Weblogic文件上传目录
有时候拿到weblogic能命令执行,但是目标不能出网,不方便直接上线,这时就需要上个webshell来辅助后续的渗透。但是weblogic的web路径可能和常规的web系统不一样,不清楚的时候可能会一脸懵逼不知道上传到哪个目录下,以及如何访问,所以记录一下。 测试环境 这里使用vulhub中的weblogic镜像搭的环境 vulhub/weblo…