简单,SQL注入攻击尽可能少的字符。注意,我并不是试图通过将输入限制到一定的大小来防止SQL注入攻击,而是真的很奇怪即使是最简单的攻击也需要多少个字符才能执行。
为了后人,让我们说最小的表名是4个字符,例如“user”。请考虑一下。
答案 0 :(得分:10)
1字符是您可以控制的最小单位。问题在很大程度上取决于你在做什么。例如,如果您正在处理从网站删除个人资料的界面,并且您发送'%'而不是您的姓名:
"Delete from Users where name like '"+username+"'"
然后将您的用户名设置为%
将删除所有用户。
答案 1 :(得分:6)
注入字符串文字时:
';drop database;--
答案 2 :(得分:0)
假设查询是按这样生成的
"Select * from user where userid = " + myVar
1; delete from user;
答案 3 :(得分:0)
这个怎么样:
' OR 1=1 --