前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >tomcat6下的Filter内存马注入

tomcat6下的Filter内存马注入

作者头像
谢公子
发布于 2022-01-20 08:11:33
发布于 2022-01-20 08:11:33
1.3K0
举报
文章被收录于专栏:谢公子学安全谢公子学安全

目录:

一、filter配置对比

二、filter内存马注入Demo

作者:wal613&水木逸轩@深蓝攻防实验室

01

filter配置对比

首先,tomcat6下的StandardContext的获取可以参考先知的这篇文章:https://xz.aliyun.com/t/9914

而获取到StandardContext之后的操作就是要寻找,filter的三个配置要素:

filterConfigs,filterDefs,filterMaps

filterDef中定义了filterName和class的对应关系

filterMap中定义了filterName和url(匹配路径的)对应关系

filterConfig中定了context和filterDef的对应关系

通过debug知道:

filterDef中需要定义的是FilterClass,FilterName,其他的对象不必定义,直接使用默认的值就好。

filterMap中需要定义的是FilterName,URLPattern

filterConfig中需要定义的是Context,FilterDef

对比tomcat7的filter配置:

可以看到,filterDef中多定义了一个Filter的对象,filterMap中多定义了一个Dispatcher对象。

02

filter内存马注入Demo

将先知文章中的获取StandardContext类编译为class,然后loadClass注入到内存中,然后调用getStandardContext获取当前的StandardContext对象。

获取到当前的StandardContext对象之后,反射获取已经编写好的filter类,之后注入到内存中

然后分别定义filterDef,filterMap,调用StandardContext的addFilterDef和addFilterMap方法进行配置信息的添加

反射加载ApplicationFilterConfig

最后反射获取StandardContext的filterConfigs信息,然后将定义好的ApplicationFilterConfig put到filterConfigs的hashMap中即可完成注入。

冰蝎连接:

参考链接:https://xz.aliyun.com/t/9914

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 谢公子学安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
透过源码学习设计模式1—Servlet Filter和责任链模式
相信大家都熟悉Servlet中Filter过滤器,我们可以在servlet和servlet容器之间插入Filter过滤器来包装、预处理请求,或者包装、处理响应。过滤器本身不知道自己的顺序。而是由FilterChain按照web.xml中的配置顺序执行的,确切的说,按照<filter-mapping>的顺序执行的。而调用完chain.doFilter()方法后,即当filter链中的filter都按顺序执行完毕,像堆栈一样,filter又从最后的一个开始执行。
java达人
2019/05/13
1.7K0
透过源码学习设计模式1—Servlet Filter和责任链模式
tomcat6Filter内存马注入的实际场景解决
二、获取完localhost的StandardContext之后,无法获取准确的Servlet链接?
谢公子
2022/01/20
5860
tomcat6Filter内存马注入的实际场景解决
JAVA 内存马学习之Filter型
https://blog.csdn.net/gaoqingliang521/article/details/108677301
yulate
2023/05/02
5950
JAVA 内存马学习之Filter型
ServletListenerFilter内存马查杀手段一
之前的文章基本上都是围绕在tomcat或者spring环境下如何解决下面几个问题:
FB客服
2023/08/08
4150
ServletListenerFilter内存马查杀手段一
tomcat Listener,Filter内存马简要分析
tomcat 主要包含四种容器:Engine,Host,Context,Wrapper。其对应关系如下图
ConsT27
2022/02/11
1.1K0
tomcat Listener,Filter内存马简要分析
Tomcat内存马之Filter内存马剖析
在Tomcat中Filter是一种可用于拦截HTTP请求和响应的组件,Filter可以在请求到达Servlet之前对请求进行预处理,在响应返回给客户端之前对响应进行后处理,从而实现一些共性的处理逻辑,比如:日志记录、权限校验、字符编码转换等
Al1ex
2025/02/08
1190
Tomcat内存马之Filter内存马剖析
请问您今天要来点兔子还是内存马呢?
内存马的形式有三种,filter、servlet、listener,优先级为listener>filter>servlet。
辞令
2020/12/22
5980
请问您今天要来点兔子还是内存马呢?
java安全之结合CC链注入无文件Tomcat内存马
Tomcat内存马基础可以看我的上一篇:https://www.0kai0.cn/?p=240 前言-fliter等内存马局限 具体新建servlet的过程: https://blog.csdn.ne
亿人安全
2023/02/28
1.1K0
java安全之结合CC链注入无文件Tomcat内存马
免杀与免检测shell网页后门脚本
描述: 调试了 tomcat 从接收到一个socket, 到解析socket 并封装成Request 转发至 Jsp/Servlet 的全过程
全栈工程师修炼指南
2020/10/23
6670
免杀与免检测shell网页后门脚本
JavaWeb 内存马技术归纳
本文以Tomcat 9为核心学习并归纳了一些内存马技术,除有特殊说明外的章节外,本文使用Java 8u292
黑白天安全
2022/02/24
2.2K0
JavaWeb 内存马技术归纳
Tomcat Filter之动态注入
最近,看到好多不错的关于“无文件Webshell”的文章,对其中利用上下文动态的注入Filter的技术做了一下简单验证,写一下测试总结,不依赖任何框架,仅想学习一下tomcat的filter。
CN_Simo
2020/07/07
1.3K0
基于filter的内存马
主要是通过过滤器来拦截severlet请求中的参数,作为过滤器中的参数,来调用自定义过滤器中的恶意函数
红队蓝军
2022/05/17
3620
基于filter的内存马
一文了解内存马
随着攻防对抗的博弈愈发激烈,流量分析、EDR等专业安全设备被防守方广泛使用,传统的文件上传的webshll或以文件形式驻留的后门越来越容易被检测到,webshell终于进入内存马时代,其关键在于无文件,利用中间件的进程执行恶意代码。本文试图进行一个学习,尽可能搞明白其来龙去脉
红客突击队
2022/09/29
9450
一文了解内存马
攻防技术 | Resin内存马与回显姿势
Resin 是 CAUCHO 公司(http://www.caucho.com/)的产品,是一个非常流行的支持 servlets 和 jsp 的引擎,速度非常快。Resin 本身包含了一个支持 HTTP/1.1 的 WEB 服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼 APACHE SERVER
Timeline Sec
2024/02/06
3060
攻防技术 | Resin内存马与回显姿势
内存马即学即用
FilterDefs:存放FilterDef的数组 ,FilterDef 中存储着我们过滤器名,过滤器实例,作用 url 等基本信息
红队蓝军
2024/06/18
2350
内存马即学即用
责任链模式了解一下
责任链模式(Chain of Responsibilty Pattern)避免请求发送者与接收者耦合在一起,让多个对象处理器都有可能接收请求,将这些对象处理器连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。责任链模式是属于行为型模式。责任链模式的核心就是设计好一个请求链以及链结束的标识。 下面先看一个责任链的demo。
码农飞哥
2021/08/18
3280
从零开始手写Tomcat的教程11节----StandardWrapper
记录已经创建的存活的servlet对象实例个数,包括STM和non-STM的servlet类实例
大忽悠爱学习
2022/05/10
5170
从零开始手写Tomcat的教程11节----StandardWrapper
【Tomcat】《How Tomcat Works》英文版GPT翻译(第十一章)
You have learned in Chapter 5 that there are four types of containers: engine, host, context, and wrapper. You have also built your own simple contexts and wrappers in previous chapters. A context normally has one or more wrappers, in which each wrapper represents a servlet definition. This chapter will now look at the standard implementation of the Wrapper interface in Catalina. It starts by explaining the sequence of methods that get invoked for each HTTP request and continues with the javax.servlet.SingleThreadModel interface. The chapter concludes by explaining the StandardWrapper and StandardWrapperValve classes. The application that accompanies this chapter uses StandardWrapper instances to represents servlets.
阿东
2024/01/19
1820
【Tomcat】《How Tomcat Works》英文版GPT翻译(第十一章)
Tomcat对Servlet规范的Filter及Listener实现
加载Servlet的类不等于创建Servlet实例,Tomcat先加载Servlet的类,然后还得在Java堆创建Servlet实例。
JavaEdge
2021/10/18
8750
内存马的攻防博弈之旅
攻防对抗中,权限维持作为后渗透的基础,在攻防的对抗中,乃是兵家必争之地。Webshell作为Web安全领域中最基础的权限维持的方式,也在不断地变化发展,涌现出各种大马,小马,一句话密码,加密混淆木马等实现方式。但随着基于文件的检测技术的发展,此类文件型的Webshell越来越容易被检测出来。因此,基于无文件攻击技术的内存马就开始大展身手。
绿盟科技研究通讯
2022/03/11
1.5K0
内存马的攻防博弈之旅
相关推荐
透过源码学习设计模式1—Servlet Filter和责任链模式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档