文章目录
- Web应用运行流程图
- JavaEE-过滤器-Filter
- 过滤器概述&作用
- 过滤器相关安全测试场景
- JavaEE-监听器-Listener
- 监听器作用:
- 监听器相关安全测试场景
过滤器和监听器,主要对安全测试有影响的是过滤器,监听器只是在对代码进行逻辑分析时候有作用。
都会涉及到内存马技术,有助于内存马原理分析,
Web应用运行流程图
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等域对象创建和销毁事件
监听器相关安全测试场景
代码审计中分析执行逻辑触发操作,**红队内存马植入,蓝队清理内存马(应急)**等