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

tomcat6下的Filter内存马注入

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

目录:

一、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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档