安全学习_开发相关_JavaEE过滤器监听器简单了解

文章目录

    • Web应用运行流程图
  • JavaEE-过滤器-Filter
      • 过滤器概述&作用
      • 过滤器相关安全测试场景
  • JavaEE-监听器-Listener
      • 监听器作用:
      • 监听器相关安全测试场景

过滤器和监听器,主要对安全测试有影响的是过滤器,监听器只是在对代码进行逻辑分析时候有作用。

都会涉及到内存马技术,有助于内存马原理分析,

Web应用运行流程图

安全学习_开发相关_JavaEE过滤器监听器简单了解_第1张图片
安全学习_开发相关_JavaEE过滤器监听器简单了解_第2张图片

JavaEE-过滤器-Filter

过滤器概述&作用

Filter被称为过滤器,过滤器实际上就是对Web资源进行拦截,做一些处理后再交给下一个过滤器或Servlet处理,通常都是用来拦截request进行处理的,也可以对返回的 response进行拦截处理。开发人员利用filter技术,可以实现对所有Web资源的管理,例如实现权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。

安全相关知识:内存马、权限访问控制

开发相关:提高、优化访问的速度效率

1、创建过滤器

实现Filter接口

2、过滤器内置方法

@WebFilter("/hello")
public class TestServlet implements Filter {
	// 初始化过滤器
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("filter init!");
    }
	// 过滤内容
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("------doFilter-------");
        // 放行
        filterChain.doFilter(servletRequest,servletResponse);
    }
	// 过滤结束/销毁
    @Override
    public void destroy() {
        System.out.println("filter destroy");
    }
}

3、过滤器触发流程

访问网站路由后-》进入过滤器 -》过滤器进行检测,若无注入等内容,放行,进入servlet

过滤器相关安全测试场景

Payload检测,权限访问控制,红队内存马植入,蓝队清理内存马等l

内存马参考:https://mp.weixin.qq.com/s/hev4G1FivLtqKjt0VhHKmw

JavaEE-监听器-Listener

监听器只做监听,监听事件的发生

和安全测试相关性不高(相对过滤器)

相关:代码分析(代码审计)、内存马

参考:https://blog.csdn.net/qq_52797170/article/details/124023760

监听器作用:

  • 监听ServletContext、HttpSession、ServletRequest等域对象创建和销毁事件

  • 监听域对象的属性发生修改的事件

  • 监听在事件发生前、发生后做一些必要的处理

1、创建监听器

实现HttpSessionListener接口

2、监听器内置方法

public class TestListener implements HttpSessionListener {

    @Override
    public void sessionCreated(HttpSessionEvent httpSessionEvent) {
        System.out.println("监听器监听到Session被创建");
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
        System.out.println("监听器监听到Session被销毁");
    }
}

3、监听器触发流程

监听器不需要指定路由,当Session被创建,监听器即会监听到,触发sessionCreated方法,Session销毁触发sessionDestroyed方法。

也可监听ServletContext、HttpSession、ServletRequest等域对象创建和销毁事件

监听器相关安全测试场景

代码审计中分析执行逻辑触发操作,**红队内存马植入,蓝队清理内存马(应急)**等

你可能感兴趣的:(安全学习笔记_开发相关,安全,学习,java-ee)