weblogic 无文件 webshell 的技术研究
作者:宽字节安全 原文链接: https://mp.weixin.qq.com/s/euYuuI78oJhUHt9dVkomKA 本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送! 投稿邮箱:paper@seebug.org 上篇文章中着重研究了tomcat的内存马以及实现方法。这篇文章主要研究了weblogic的内存马实现原理。在这里实现的原理与tomcat基本相同,同样使用动态注册Filter 的方式。下面分析一下weblogic在请求中是如何获取FilterChain。 以下分析基于 weblogic 12.2.1.4 0x01 weblogic FilterChain实现 创建一个Filter,随便打一个断点,观察此时的堆栈信息,如图 通过跟踪堆栈信息,我们可以找到,在wrapRun函数中,会判断系统中是否存在filter以及listener。如果存在,则获取FilterChain,然后依次调用Filter。原理与tomcat类似。相关代码如下 weblogic.servlet.internal.WebAppServletContext.ServletInvocationAction#wrapRun 函数 if (!invocationContext.hasFilters() && !invocationContext