Spring内存马分析】的更多相关文章

Java安全之Spring内存马 基础知识 Bean bean 是 Spring 框架的一个核心概念,它是构成应用程序的主干,并且是由 Spring IoC 容器负责实例化.配置.组装和管理的对象. 通俗来讲: bean 是对象 bean 被 IoC 容器管理 Spring 应用主要是由一个个的 bean 构成的 ApplicationContext Spring 框架中,BeanFactory 接口是 Spring IoC容器 的实际代表者. 从下面的接口继承关系图中可以看出,Applicat…
此篇文章在于记录自己对spring内存马的实验研究 一.环境搭建 搭建漏洞环境,利用fastjson反序列化,通过JNDI下载恶意的class文件,触发恶意类的构造函数中代码,注入controller内存马. 1)组件版本: fastjson: 1.2.24 spring-mvc: 4.3.28.RELEASE JDK: 8u121 2)搭建springMVC+fastjson漏洞环境 可以参考网上的入门文章进行搭建,这里我放出我自己环境的配置文件 web.xml <servlet> <…
1 基础 实际上java内存马的注入已经有很多方式了,这里在学习中动手研究并写了一款spring mvc应用的内存马.一般来说实现无文件落地的java内存马注入,通常是利用反序列化漏洞,所以动手写了一个spring mvc的后端,并直接给了一个fastjson反序列化的页面,在假定的攻击中,通过jndi的利用方式让web端加载恶意类,注入controller.一切工作都是站在巨人的肩膀上,参考文章均在最后列出. 1.1 fastjson反序列化和JNDI 关于fastjson漏洞产生的具体原理已…
针对Spring MVC的Interceptor内存马 目录 针对Spring MVC的Interceptor内存马 1 基础拦截器和调用流程的探索 1.1 基础拦截器 1.2 探索拦截器的调用链 1.3 探索拦截器是如何被添加的 2 实践 1 基础拦截器和调用流程的探索 学习.探索和实现过程很多都基于大佬的文章https://landgrey.me/blog/19/ https://landgrey.me/blog/12/ 1.1 基础拦截器 前不久实现cotroller内存马能添加冰蝎代码后…
内存马 简介 ​ Webshell内存马,是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站.应用.但传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度. 类型 ​ 目前分为三种: Servlet-API型 通过命令执行等方式动态注册一个新的listener.filter或者servlet,从而实现命令执…
Java安全之基于Tomcat的Filter型内存马 写在前面 现在来说,内存马已经是一种很常见的攻击手法了,基本红队项目中对于入口点都是选择打入内存马.而对于内存马的支持也是五花八门,甚至各大公司都有自己魔改的webshell管理工具,下面就从Tomcat开始学习内存马部分内容. 内存马主要分为以下几类: servlet-api类 filter型 servlet型 spring类 拦截器 controller型 Java Instrumentation类 agent型 Tomcat基础知识 首…
1.前置知识 Java Web三大组件 Servlet Servlet是运行在 Web 服务器或应用服务器上的程序,它是作为来自 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层.它负责处理用户的请求,并根据请求生成相应的返回信息提供给用户.Servlet 可以理解为某一个路径后续的业务处理逻辑. Filter Filter也称之为过滤器,可以动态地修改HttpServletRequest,HttpServletResponse中的头和数据. Listener List…
1.spring-core概览 spring-core是spring框架的基石,它为spring框架提供了基础的支持. spring-core从源码上看,分为6个package,分别是asm,cglib,core,lang,objenesis和util. 1.1 asm 关于asm的内幕参见博客: spring源码分析之spring-core asm概述 1.2 cglib 关于cglib的内幕参见博客 cglib源码分析--转 1.3 core 1.4 lang 四个注解接口 /** * In…
原型Bean加载过程 之前的文章,分析了非懒加载的单例Bean整个加载过程,除了非懒加载的单例Bean之外,Spring中还有一种Bean就是原型(Prototype)的Bean,看一下定义方式: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="htt…
转自(http://blog.csdn.net/qh_java/article/details/9084091) java内存分配分析/栈内存.堆内存 java内存分配分析 本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个系统的介绍. 进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥…