以下查询的SQL注入字符串是什么?

时间:2012-09-19 13:38:35

标签: sql-injection

我们使用如下查询:

FROM users u INNER JOIN FETCH u.roles where u.password='" + password + "'" + " AND u.username='" + username + "'";

为了防止sql注入,我们使用正则表达式来过滤“用户名”,并且只允许使用“ ^ [a-zA-Z0-9] * $ ”等字符的白名单“密码”字段我们正在使用检查,例如,

 if(password.indexOf("'") != -1) { Sql injection attack }

攻击者是否有办法绕过我们用于启动成功的SQL注入攻击的检查?

我们正在使用MySql v5.1

谢谢,

1 个答案:

答案 0 :(得分:1)

看起来主持人似乎不赞成我告诉你改进你的代码,答案很简单"是的,上面的代码存在缺陷"。