我正在测试SQL注入。我有一个问题:
SELECT * FROM testTable WHERE testVar='<USER INPUT HERE>';
我在一行中禁用了多个语句。攻击者是否有任何方式可以在其中删除UPDATE或DELETE并终止我的数据?
注意:我知道参数化我的查询更安全,我已经这样做了。但是,我想知道所有可能性。
答案 0 :(得分:2)
即使您已禁用多行语句,如果您的用户输入看起来像
,该怎么办?a' OR 1=1; '
我想这会选择所有行。
您的查询将变为
SELECT * FROM testTable WHERE testVar='a' OR 1=1 ;'';
答案 1 :(得分:-1)
如果您没有正确转义用户输入中的引号,则可以使用