最近公司安全部门对代码进行了静态安全扫描,发现了一些安全问题,因为公司项目是使用mybatis写的,所以发现了一些sql注入的bug,主要是$问题引起的
一个是in 查询使用了 $,还有一处是 order by 使用了。
in 标签 $ 修改为#
原语句:
and
ID in (${ids})
修改后
and
#{item}
使用foreach 标签,替$符号,这里注意 collection需要把实体类的参数写上,不要写ids,要写cdt.ids,
item 是每一项的值。
order by $
这个没有找到特别好的修改方法,一个是在代码出对输入值做校验,对不是相关字段排除,
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69979119/viewspace-2709064/,如需转载,请注明出处,否则将追究法律责任。