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