ListenerValve内存马的查杀分析
💡
原文中文,约1100字,阅读约需3分钟。
📝
内容提要
讲解了Servlet / Listener / Filter型的查杀思路,实现了Listener的kill功能和对其他类型内存马的查杀功能。通过获取StardardContext对象和调用addApplicationEventListener方法实现Listener的注入。在检测到内存马时,从List中删除对应的Listener。通过获取四种容器中的Valve实例,筛选不存在源文件的实例,划分为可能为内存马。
🎯
关键要点
- 文章讲解了Servlet / Listener / Filter型的查杀思路,特别是Listener的kill功能。
- Listener的kill功能通过获取StandardContext对象并调用addApplicationEventListener方法实现。
- 检测到内存马时,通过从List中删除对应的Listener来实现kill功能。
- 从所有Listeners中筛选目标Listener,并通过removeApplicationEventListener进行删除。
- Valve类型内存马的探测需要获取四种容器中的Valve实例,并筛选不存在源文件的实例。
- Tomcat中存在四种容器:Engine、Host、Context和Wrapper,每种容器中都有自己的Valve对象。
➡️