Valve 是什么 我们要学习 Valve 型内存马,就必须要先了解一下 Valve 是什么 这一段内容引用枫师傅的文章原话,因为枫师傅这段话我觉得写的非常清楚,师傅们可以学习一下 在了解 Valve 之前,我们先来简单了解一下 Tomcat 中的管道机制。 我们知道,当 Tomcat 接收到客户端请求时,首先会使用 Connector 进行解析,…
Servlet 创建 可以先看一下 Servlet 这个接口有哪些方法 public interface Servlet { void init(ServletConfig var1) throws ServletException; // init方法,创建好实例后会被立即调用,仅调用一次。 ServletConfig getServletCon…
Listener 基础知识 Java Web 开发中的监听器(Listener)就是 Application、Session 和 Request 三大对象创建、销毁或者往其中添加、修改、删除属性时自动执行代码的功能组件。 用途 可以使用监听器监听客户端的请求、服务端的操作等。通过监听器,可以自动出发一些动作,比如监听在线的用户数量,统计网站访问量、…
前言 学过 Servlet 的应该都知道 filter (过滤器),我们可以通过自定义过滤器来做到对用户的一些请求进行拦截修改等操作,下面是一张简单的流程图 从上图可以看出,我们的请求会经过 filter 之后才会到 Servlet ,那么如果我们动态创建一个 filter 并且将其放在最前面,我们的 filter 就会最先执行,当我们在 filt…
内存马简介 内存马是无文件Webshell,就是服务器上不会存在需要链接的Webshell脚本文件。 原理 利用Java Web组件:动态添加恶意组件,如Servlet、Filter、Listener等。在Spring框架下就是Controller、Intercepter。修改字节码:利用Java的Instrument机制,动态注入Agent,在J…