java.sql.SQLException: sql injection violation, part alway true condition not allow
这是我在思考调试sql注入出现的小bug
打印出来的SQL语句放在数据库执行
select id,name,age,phone from yu_student where phone = '123' or 1=1
运行结果
sql语句没有问题,为什么java程序会报错呢
错误内容是druid的sql防火墙报警,发现是hibernate自动拼接了1=1的永真条件,而druid只会放行排在第一的永真条件
查看hibernate源代码后发现,当引用Junction生成sql时,如果条件为空,
原创
2020-06-09 16:30:09 ·
3622 阅读 ·
1 评论