【033-安全开发篇】JavaEE应用&SQL预编译&Filter过滤器&Listener监听器&访问控制

思维导图

知识点:

1、JavaEE-JDBC-SQL预编译

2、JavaEE-HTTP-Filter过滤器

3、JavaEE-对象域-Listen监听器

章节点

3、Java:

功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方库使用等.

框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等

技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,待补充

安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充

安全:原生开发安全,第三方框架安全,第三方库安全等,待补充

演示案例:

复制代码
JavaEE-预编译-SQL
JavaEE-过滤器-Filter
JavaEE-监听器-Listen



JavaEE-预编译-SQL

  • 不安全的写法,没有预编译:
java 复制代码
String sql="select * from news where id="+s;
System.out.println(sql);
Statement statement=connection.prepareStatement();
ResultSet resultSet=statement.executeQuery();

前面可以进行SQL注入

  • 预编译SQL语句并执行,预防SQL注入问题
java 复制代码
String safesql="select * from news where id=?";
PreparedStatement preparedStatement=connection.prepareStatement();
preparedStatement.setString(1,s);
ResultSet resultSet=preparedStatement.executeQuery();

union后面的直接忽视了,无法进行SQL注入。

预编译后固定死查询逻辑,会忽视你后面SQL注入的语句

JavaEE-过滤器-Filter

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

  1. 创建过滤器
  2. 过滤器内置方法
    init doFilter destroy
  3. 过滤器触发流程
java 复制代码
@WebFilter("/xss")
<filter>
    <filter-name>xssFilter</filter-name>
    <filter-class>com.example.filter.xssFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>xssFilter</filter-name>
    <url-pattern>/xss</url-pattern>
</filter-mapping>
  1. 过滤器安全场景
    Payload检测,权限访问控制,红队内存马植入,蓝队清理内存马等
    内存马参考:https://mp.weixin.qq.com/s/hev4G1FivLtqKjt0VhHKmw

小迪代码:

启动中间件→"xss开启过滤",访问"/test"→"xss正在过滤",关闭中间件→"xss销毁过滤"

JavaEE-监听器-Listen

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

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

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

  • 监听在事件发生前、发生后做一些必要的处理
    1、创建监听器
    2、监听器内置方法
    3、监听器触发流程

    @WebListener

    .......

4、监听器安全场景

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

补充:session是指客户端与服务器之间持续交互的状态信息,通过唯一标识、状态存储、客户端关联三个机制解决HTTP协议无状态特性。比cookie更安全

相关推荐
2601_9619633811 小时前
技术解剖:哈希值、区块链与CA认证如何守护电子合同安全?
网络·人工智能·安全·区块链·智能合约·政务
科技林总11 小时前
解决vllm服务漏扫问题
python·安全
YM52e11 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
Par@ish13 小时前
【网络安全】Web安全扫描工具Nikto安装和使用详细教程
安全·web安全·ubuntu
namexingyun13 小时前
拆解Fable 5三重安全护栏:模型路由、蒸馏防护与生物安全分类器的技术原理 - 微元算力(weytoken)
java·人工智能·python·安全·架构·ai编程
OpenAnolis小助手14 小时前
如何利用 AI Agent 实现热补丁的自动化生成
人工智能·安全·ai·操作系统·agent·龙蜥
一拳一个娘娘腔14 小时前
CVE-2026-31431 — “Copy Fail“ 深度拆解
linux·安全
持敬chijing14 小时前
Web渗透之前后端漏洞-文件包含漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析
leagsoft_100315 小时前
某航终端安全治理实践:以一体化建设夯实数字办公安全底座
安全
持敬chijing15 小时前
Web渗透之前后端漏洞-文件上传漏洞-过滤绕过与配置文件漏洞-条件竞争漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析