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

news2024/11/24 4:44:48

文章目录

    • 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等域对象创建和销毁事件

监听器相关安全测试场景

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1034109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数学计算】使用mathematica计算圆周率π

【数学计算】使用mathematica计算圆周率 计算π的意义如何通过函数表示圆函数几何图形 计算圆周率 计算π的意义 在我们计算圆面积时,通常需要知道面积和已知变量之间的共性关系,以便能够将圆面积计算进行理论研究,以推广到所有的圆面积、周…

Golang代码漏洞扫描工具介绍——trivy

Golang代码漏洞扫描工具介绍——trivy Golang作为一款近年来最火热的服务端语言之一,深受广大程序员的喜爱,笔者最近也在用,特别是高并发的场景下,golang易用性的优势十分明显,但笔者这次想要介绍的并不是golang本身&a…

JMeter之脚本录制

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试) 前言: 对于一些JMeter初学者来说,录制脚本可能是最容易掌握的技能之一。…

C/C++开发,opencv阀值操作

目录 一、OpenCV-阀值操作 1.1阀值操作函数threshold 1.2threshold的操作类型 1.3Otsu算法 二、样例开发 2.1 Makefile 2.2 main.cpp 2.3 运行效果 三、OpenCV-自适应阀值操作 3.1 自适应阀值操作函数-adaptiveThreshold 3.2 样例开发 一、OpenCV-阀值操作 1.1阀值操…

渗透测试中的前端调试(上)

一、前言 前端调试是安全测试的重要组成部分。它能够帮助我们掌握网页的运行原理,包括js脚本的逻辑、加解密的方法、网络请求的参数等。利用这些信息,我们就可以更准确地发现网站的漏洞,制定出有效的攻击策略。前端知识对于安全来说&#xff…

私域运营丨用户运营SOP,批量成交私域新老客户!

私域运营的重点内容除了社群外,还包括1对1的沟通成交。特别是针对价格高、决策成本高、需要定制化和深度服务、具有私密性的产品,非常适合进行1对1的成交。 通过建立标准化的用户运营SOP,可以更科学地管理私域客户,并根据客户所处…

AO天鹰优化算法|含源码(元启发式算法)|跑23个经典函数(含源码)

-------往期目录------ 1、灰狼优化算法 文章目录 天鹰优化器一、第一种搜索方法二、第二种搜素方法三、第三种搜素方法四、第四种搜索方法 代码实现 天鹰优化器 Aquila Optimizer(AO),灵感来自Aquila在捕捉猎物过程中的自然界行为。因此&a…

华为云云耀云服务器L实例评测|云耀云服务器L实例部署HertzBeat实时监控系统

华为云云耀云服务器L实例评测|云耀云服务器L实例部署HertzBeat实时监控系统 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点 二、HertzBeat介绍2.1 HertzBeat简介2.2 HertzBeat特点 三、本次实践介绍3.1 本次实践简介3.2 本次环境规…

Activiti7工作流 二【Activiti7入门、Activiti7进阶】

文章目录 六、Activiti7入门6.1 业务流程建模6.1.1 绘制流程图6.1.2 指定任务负责人6.1.3 生成png格式流程图 6.2 部署流程定义6.3 启动流程实例6.4 任务查询6.5 任务处理6.6 添加审批意见6.6 查看历史审批 七、Activiti7进阶7.1 流程定义相关7.1.1 流程定义查询7.1.2 流程资源…

基于Spring Boot的体育馆管理系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 本基于Spring Boot的海滨体育馆管理系统设计目标是实现海滨体育馆的信息化管理,提高管理效率,使得海滨体育馆管理工作规范化、高效化。 本文重…

fonts什么文件夹可以删除吗?fonts文件夹删除了怎么恢复

在电脑上,fonts文件夹是存放字体文件的目录之一。尽管有时可能考虑删除该文件夹以节省硬盘空间或出于其他原因,但删除该文件夹可能会导致系统字体问题,影响用户的正常使用。因此,在删除之前需要考虑是否可以删除fonts文件夹&#…

golang优先级坑

看如下代码,我本以为a1, a2是相同的 package mainimport "fmt"func main() {b, c, d : 1, 0, 1a1 : b ^ c&(^d) // 1 ^a2 : c ^ b&(^d) // 0 ^fmt.Println(a1, a2) // 1 0 }但结果却是不同的,在golang中&的优先级^和|…

Edge 浏览器『版本回退』和『关闭更新』

前言 最近 Edge 浏览器又更新了,给整体浏览器页面布局进行大改动,之前苗条的标签页和收藏夹栏瞬间变得臃肿了,我实在无法忍受这种布局,所以我索性直接进行版本回退和设置永久关闭更新,详细步骤请看下文 Edge 浏览器版…

【新版】系统架构设计师 - 案例分析 - 架构设计<架构风格和质量属性>

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 案例分析 - 架构设计<架构风格和质量属性>例题1例题2例题3例题4例题5例题6 架构 - 案例分析 - 架构设计<架构风格和质量属性> 例题1 某软件公司为…

大数据开发工程师面试题

一、选择题 1、哪个程序负责HDFS数据存储? Datanode 2、HDFS中的block默认保存几份? 默认3份 3、哪个程序通常与NameNode在一个节点启动? Jobtracker 4、HDFS默认Block Size是多少? 64MB 5、什么通常是集群的最主要瓶颈 …

typedef与define定义类型

#define _CRT_SECURE_NO_WARNINGS #define DataType2 int* #include<iostream> typedef int* DataType1; int main() {DataType1 a, b;DataType2 c, d;printf("%d %d %d %d", sizeof(a), sizeof(b), sizeof(c), sizeof(d));return 0; } 输出结果如何&#xf…

MySQL集群高可用架构之MMM

一、MMM概述 1.1 MMM 简介 MMM&#xff08;Master-Master replication manager for MvSQL&#xff0c;MySQL主主复制管理器&#xff09;是一套支持双主故障切换和双主日常管理的脚本程序。 MMM 使用 Perl 语言开发&#xff0c;主要用来监控和管理 MySQL Master-Master &#…

免费玩云上大数据--海汼部落实验室

玩大数据遇到的问题 大家好&#xff0c;这次分享一个免费的大数据部署工具&#xff0c;并非是给人家打广告&#xff0c;试过了真的爽。 学习大数据的人都知道&#xff0c;如果用VMware模拟Linux搭建大数据集群的话我们需要很高的内存和硬盘内存&#xff0c;随随便便跑一下mapre…

机器学习笔记:adaBoost

1 介绍 AdaBoost&#xff08;Adaptive Boosting&#xff09;是一种集成学习方法&#xff0c;它的目标是将多个弱分类器组合成一个强分类器 通过反复修改训练数据的权重&#xff0c;使得之前分类错误的样本在后续的分类器中得到更多的关注每一轮中&#xff0c;都会增加一个新的…

eCognition易康操作教程(一):如何利用eCognition易康软件进行影像分割之棋盘分割、四叉树分割、光谱差异分割

一、新建工程 使用eCognition新建工程ImageSegmentation&#xff0c;加载影像数据&#xff0c;并编辑图层名称&#xff0c;将Layer 1、Layer 2、Layer 3、Layer 4的 Layer Alias 分别改为 Blue、Green、Red、如图1-1&#xff0c;图1-2所示&#xff1a; 图 1-1 图 1-2 设置加载…