我正在对一个系统进行审计,开发人员坚称该系统可以防止 SQL 注入。他们通过去掉登录表单中的单引号来实现这一点 - 但后面的代码没有参数化;它仍然使用字面 SQL,如下所示:
username = username.Replace("'", "");
var sql = "select * from user where username = '" + username + "'";
这真的安全吗?是否有另一种插入单引号的方法,也许是使用转义字符?使用的数据库是Oracle 10g。
也许您也可能会失败,因为不使用绑定变量会对性能产生非常负面的影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)