有人遇到过项目中已经使用了hibernate,可是测试的时候依然会被sql注入,请问是怎么回事呢?

前端时间项目测试,测试人员使用appscan进行测试后没发现项目存在sql注入的问题且会把数据库的字段值改掉,但是我们项目中使用的hibernate,采用的是预编译的形式啊,为什么还会被sql注入呢,请大神们帮忙解答一下,感激不尽!!!

图片说明

把sql设置为stop,就不注入了

  1. 排查通过+号形成的sql语句或者hql语句
  2. 保证接受的参数仅仅替换hql中的 ? 号或者 :PARAM 这种的内容
  3. 对字符串内容做程序性的控制(保护和过滤),而非任由用户输入。