EL 表达式注入
EL 表达式注入 1、EL 概述 表达式语言(Expression Language) 简称 EL,是 Java EE(尤其是 JSP 技术)中用来在页面中简化访问 Java 对象、属性、集合和方法的一种语法。它的主要作用是取代 JSP 页面中复杂的 <%= ... %> 表达式,让 JSP 页面更简洁、可读性更高。 ...
EL 表达式注入 1、EL 概述 表达式语言(Expression Language) 简称 EL,是 Java EE(尤其是 JSP 技术)中用来在页面中简化访问 Java 对象、属性、集合和方法的一种语法。它的主要作用是取代 JSP 页面中复杂的 <%= ... %> 表达式,让 JSP 页面更简洁、可读性更高。 ...
SpEL 表达式注入 1、SpEL 基础 1.1 简介 在 Spring3 中引入了 Spring 表达式语言(Spring Expression Language,简称 SpEL),是一种强大的运行时查询和操作对象图的语言,语法类似于Jakarta表达语句,但额外支持方法调用和基本字符串模板。SpEL旨在为Spring社区提供一种统一且功能全面的表达式语言,适用于所有Spring产品,并根据这些产品的需要设计了其特性。尽管SpEL是Spring框架的一部分,但它可以独立于Spring使用。通常情况下,用户只需编写简单的表达式字符串即可利用SpEL的功能,无需关心底层架构细节。例如,在基于XML或注解的bean定义中集成SpEL就是一个常见应用。 ...
Switch JDK versions in Windows 最近在安装工具时常常用到不同的 JDK 版本,而想要切换就得一条一条去修改环境变量,实在浪费时间。因此,通过 AI + 人工调试,终于推出了一款可以自动扫描已安装的所有 JDK 版本,并且快速切换的脚本。 ...
Java内存马——Tomcat Valve型的三种注入 转载自:https://www.freebuf.com/articles/web/433972.html 核心原理 **Tomcat Pipeline & Valve:**Tomcat 使用责任链模式处理请求。Pipeline包含多个Valve,每个Valve负责特定任务(如认证、日志、访问控制)。StandardWrapperValve(通常位于链尾) 最终调用 Servlet。 **StandardContext:**代表一个 Web 应用,持有其对应的Pipeline对象 (StandardContext#getPipeline())。 **目标:**将恶意Valve注入到目标 Web 应用StandardContext的Pipeline中,通常是插入在StandardContextValve(负责应用级路由) 和StandardWrapperValve(负责调用 Servlet) 之间,或者尽可能靠前(如紧接在AccessLogValve之后)。恶意 Valve 的invoke()方法检查特定请求特征,匹配则执行命令并截断管道(不再调用getNext().invoke()),直接返回响应。 注入方式详解 方式一:纯反射注入(无依赖) 场景:攻击者已通过漏洞(如反序列化、文件上传 Webshell、其他 RCE)获得代码执行能力,但当前执行环境没有 Tomcat 的catalina.jar等库依赖(例如在Bootstrap ClassLoader或Common ClassLoader加载的类中执行)。这是最通用的方式。 ...
Java 内存马第四篇 - Agent 内存马 四、 Java Agent 内存马 4.1 Java Agent示例 对于Agent(代理)来讲,其大致可以分为两种,一种是在JVM启动前加载的**premain-Agent**,另一种是JVM启动之后加载的**agentmain-Agent**。这里我们可以将其理解成一种特殊的Interceptor(拦截器),如下图 ...
Java 内存马第三篇 - Spring 内存马 三、Spring 内存马 1、Controller 内存马 一些基础知识: Bean Bean 是 Spring 框架的一个核心概念,它是构成应用程序的主干,并且是由 Spring IoC 容器负责实例化、配置、组装和管理的对象。 ...
Java 内存马第二篇 - Tomcat 内存马 二、Tomcat 内存马 1. Filter 内存马 Filter 我们称之为过滤器,是 Java 中最常见也最实用的技术之一,通常被用来处理静态 web 资源、访问权限控制、记录日志等附加功能等等。一次请求进入到服务器后,将先由 Filter 对用户请求进行预处理,再交给 Servlet。 ...
Java 内存马第一篇 - 基础 一、基础: 1. 什么是内存马 无文件的 webshell 内存马又名无文件马,见名知意,也就是无文件落地的 webshell 技术,是由于 webshell 特征识别、防篡改、目录监控等等针对 web 应用目录或服务器文件防御手段的介入,导致的文件 shell 难以写入和持久而衍生出的一种“概念型”木马。这种技术的核心思想非常简单,一句话就能概括,那就是对访问路径映射及相关处理代码的动态注册。 ...
初识漏洞 一、SQL注入漏洞 SQL注入实战指南-CSDN博客 SQL注入攻击(SQL Injection) SQL注入原理: SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。 ...
sqlmap命令详解 转载自: 全栈程序员站长 原文:https://cloud.tencent.com/developer/article/2148285 ...