$sql="SELECT * FROM Reg_Stud WHERE Username='$var1' AND RegID=$var2 ";
这是代码......
我尝试了输入
用户名=任何'或'x'='x
ID = 12或1 = 1
没有sql注入的迹象...但是当我只给出第一个参数并通过注释其余的结束它...它给出了sql错误,即任何'或'x'='x; -
答案 0 :(得分:3)
执行SQL注入并对其进行修补
您可以使用具有大量模式的SQL Inject Me Firefox addon:)
SQL注入漏洞可能会导致 对Web应用程序造成很大损害。 恶意用户可能会查看 记录,删除记录,删除表 或访问您的服务器。 SQL Inject-Me用于Firefox扩展 测试SQL注入漏洞
为安全起见,您应使用 Prepared statements 。
答案 1 :(得分:1)
您有以下条件:Username==anything OR x=x AND RegID=12
,布尔值:
false OR true AND false
。显然,MySQL将整个表达式评估为false((false OR true) AND false
)。
答案 2 :(得分:0)
如果您将用户名设置为x' or 1=1--