sql注入代码审计

出现注入

原生 JDBC 是否存在直接拼接SQL 语句(使用+,或者使用 StringBUilderappend()),未经过预编译;Mybatis使用${} ;
Hibernate、JPA默认是经过预编译的,但是如果开发自已编写的SQL语句,也需要进行检查;
Java是强类型语言,当注入参数为long、int等数字类型时无法进行注入;
找到危险函数位置之后,向上搜索,找函数、方法调用位置,直到请求入口(controller层),判断是否存在无害化处理、无害化处理是否严格;
参考:https://mp.weixin.qq.com/s/9t3t6qxosGsKiXMIRtMoPw

审计步骤

  1. 使用的操作数据库的技术是什么
    Mybatis还是jdbc

    绝多数应该都是mybatis

    看项目说明使用的技术框架
    看引用中加载那些技术框架
    看配置源码中相关配置文件


sql注入代码审计
https://tsy244.github.io/2025/05/15/java安全/sql注入代码审计/
Author
August Rosenberg
Posted on
May 15, 2025
Licensed under