当前位置: 首页 > ai >正文

Java 安全SPEL 表达式SSTI 模版注入XXEJDBCMyBatis 注入

https://github.com/bewhale/JavaSec
https://github.com/j3ers3/Hello-Java-Sec
https://mp.weixin.qq.com/s/ZO4tpz9ys6kCIryNhA5nYw
#Java 安全 -SQL 注入 -JDBC&MyBatis
-JDBC
1 、采用 Statement 方法拼接 SQL 语句
2 PrepareStatement 会对 SQL 语句进行预编译,但如果直接采取拼接的方式构造
SQL ,此时进行预编译也无用。
3 JDBCTemplate Spring JDBC 的封装,如果使用拼接语句便会产生注入
安全写法: SQL 语句占位符( ? + PrepareStatement 预编译
-MyBatis
MyBatis 支持两种参数符号,一种是 # ,另一种是 $ # 使用预编译, $ 使用拼接 SQL
1 order by 注入:由于使用 #{} 会将对象转成字符串,形成 order by "user"
desc 造成错误,因此很多研发会采用 ${} 来解决,从而造成注入 .
2 like 注入:模糊搜索时,直接使用 '%#{q}%' 会报错,部分研发图方便直接改成
'%${q}%' 从而造成注入 .
3 in 注入: in 之后多个 id 查询时使用 # 同样会报错,从而造成注入 .
- 代码审计案例: inxedu 后台 MyBatis 注入
#Java 安全 -XXE 注入 -Reader&Builder
XXE (XML External Entity Injection), XML 外部实体注入,当开发人员配置
XML 解析功能允许外部实体引用时,攻击者可利用这一可引发安全问题的配置方式,
实施任意文件读取、内网端口探测、命令执行、拒绝服务等攻击。
-XMLReader
-SAXReader
-SAXBuilder
-Unmarshaller
-DocumentBuilder
/**
* 审计的函数
* 1. XMLReader
* 2. SAXReader
* 3. DocumentBuilder
* 4. XMLStreamReader
* 5. SAXBuilder
* 6. SAXParser
* 7. SAXSource
http://www.xdnf.cn/news/7724.html

相关文章:

  • 2025年渗透测试面试题总结-快手[实习]安全工程师(题目+回答)
  • ToDesk云电脑、并行智算云与顺网云AI支持能力深度实测报告
  • 25、工业防火墙 - 工控网络保护 (模拟) - /安全与维护组件/industrial-firewall-dcs-protection
  • 遨游科普:三防平板有哪些品牌?哪个品牌值得推荐?
  • tomcat知识点
  • PostgreSQL
  • 如何使用Antv X6使用拖拽布局?
  • AG-UI:重构AI代理与前端交互的下一代协议标准
  • 腾讯位置服务重构出行行业的技术底层逻辑
  • 第15天-NumPy科学计算实战:从基础到图像处理
  • Lambda表达式的高级用法
  • RPC 协议详解、案例分析与应用场景
  • Ubuntu部署私有Gitlab
  • 【MySQL】联合查询(上)
  • 详解鸿蒙仓颉开发语言中的日志打印问题
  • Go语言内存共享与扩容机制 -《Go语言实战指南》
  • 软考 系统架构设计师系列知识点之杂项集萃(67)
  • 【 Redis | 实战篇 扩展 】
  • 在 VB6 中强制设置 Word 文档的纸张尺寸
  • 策略的组合与叠加多策略联合交易
  • 阿里云域名 绑定 华为云服务器ip
  • 自定义协议与序列反序列化
  • FPGA开发全流程
  • 每日算法刷题计划Day12 5.21:leetcode不定长滑动窗口求最短/最长3道题,,用时1h40min(有点长了)
  • 《大模型开源与闭源的深度博弈:科技新生态下的权衡与抉择》
  • 零基础教程:用 Docker + pgloader 将 MySQL 数据库迁移到 PostgreSQL
  • 如何在 Android 手机和平板电脑上下载应用程序
  • 【压型机通信瓶颈破解】Profinet转RS485协议转换,如何提升设备联动效率?
  • Axure高级交互设计:中继器嵌套动态面板实现超强体验感台账
  • SpringMVC 通过ajax 实现文件的上传