执行SQL注入并修补它

时间:2010-10-28 19:03:29

标签: sql sql-injection

$sql="SELECT * FROM  Reg_Stud WHERE Username='$var1' AND RegID=$var2 ";

这是代码......

我尝试了输入

用户名=任何'或'x'='x

ID = 12或1 = 1

没有sql注入的迹象...但是当我只给出第一个参数并通过注释其余的结束它...它给出了sql错误,即任何'或'x'='x; -

3 个答案:

答案 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--

,会发生什么情况