sql注入代码审计
出现注入
原生 JDBC 是否存在直接拼接SQL 语句(使用+,或者使用 StringBUilderappend()),未经过预编译;Mybatis使用${} ;
Hibernate、JPA默认是经过预编译的,但是如果开发自已编写的SQL语句,也需要进行检查;
Java是强类型语言,当注入参数为long、int等数字类型时无法进行注入;
找到危险函数位置之后,向上搜索,找函数、方法调用位置,直到请求入口(controller层),判断是否存在无害化处理、无害化处理是否严格;
参考:https://mp.weixin.qq.com/s/9t3t6qxosGsKiXMIRtMoPw
审计步骤
使用的操作数据库的技术是什么
Mybatis还是jdbc绝多数应该都是mybatis
看项目说明使用的技术框架
看引用中加载那些技术框架
看配置源码中相关配置文件
sql注入代码审计
https://tsy244.github.io/2025/05/15/java安全/sql注入代码审计/