tomcat6下的Filter内存马注入

Posted 谢公子学安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat6下的Filter内存马注入相关的知识,希望对你有一定的参考价值。

目录:

        一、filter配置对比

        二、filter内存马注入Demo

01

filter配置对比

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

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

filterConfigs,filterDefs,filterMaps

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

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

tomcat6下的Filter内存马注入

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

tomcat6下的Filter内存马注入

通过debug知道:

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

filterMap中需要定义的是FilterName,URLPattern

filterConfig中需要定义的是Context,FilterDef

对比tomcat7的filter配置:

tomcat6下的Filter内存马注入
tomcat6下的Filter内存马注入
tomcat6下的Filter内存马注入

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

02

filter内存马注入Demo

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

tomcat6下的Filter内存马注入
tomcat6下的Filter内存马注入

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

tomcat6下的Filter内存马注入

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

tomcat6下的Filter内存马注入

反射加载ApplicationFilterConfig

tomcat6下的Filter内存马注入
tomcat6下的Filter内存马注入

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

冰蝎连接:

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


如果想跟我一起讨论的话,快加入我的知识星球吧!

以上是关于tomcat6下的Filter内存马注入的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat Filter内存马

利用 Fastjson 注入 Spring 内存马,太秀了~!

利用 Fastjson 注入 Spring 内存马,太秀了~

Java反序列化回显与内存马注入

中间件内存马注入&冰蝎连接(附更改部分代码)

技术分享一枚野生resin filter内存马调试