Eri*_*ang 0 sql security postgresql sql-injection
如果我围绕一个sql语句包装解释,即
explain ( [arbitrary sql string] )
我应该能够预防注射create,drop,truncate,delete命令是否正确?
我只是在postgres上尝试过它,它似乎有效,但我不知道是否有一个我忘了的角落案例.
不.它不会起作用.你仍然可以得到这样的东西:
Explain( select columns from table where value = '');injected sql here --)
Run Code Online (Sandbox Code Playgroud)
你所做的就是让攻击者做一些额外的工作来弄清楚他们)除了通常的单引号外还需要这个角色.
如果要阻止Sql注入,请确保始终使用参数化查询.