oracle - 如何在 Oracle 上进行 SQL 注入(inject)

标签 oracle oracle10g sql-injection

我正在对系统进行审计,开发人员坚持认为这是 SQL 注入(inject)证明。他们通过去掉登录表单中的单引号来实现这一点——但后面的代码没有参数化;它仍然像这样使用文字 SQL:

username = username.Replace("'", "");
var sql = "select * from user where username = '" + username + "'";

这真的安全吗?是否有另一种插入单引号的方法,也许是使用转义字符?使用的数据库是 Oracle 10g。

最佳答案

也许您也可以使它们失败,因为不使用绑定(bind)变量会对性能产生非常负面的影响。

关于oracle - 如何在 Oracle 上进行 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3544484/

相关文章:

SQL注入(inject)查询

sql - 甲骨文 SQL : SUM in first row with condition

c# - 无法加载 DLL "OraOps10.dll"

oracle - 在 PL/SQL 中动态创建 View 并使用 CLOB 时出现 ORA-00907

php - 如何防止 PHP 中的 SQL 注入(inject)?

sql-server - SqlCeResultSet 和 SQL 注入(inject)

sql - PL/SQL - Oracle 9.1

sql - 我可以向分区添加唯一约束吗?

oracle - 具有 EF6 运行时异常 'Member Mapping specified is not valid' 的 Entity Framework

oracle - 将oracle数据库导出到另一台服务器