为什么我不能使用mysql和php进行sql注入测试

Khu*_*jaz 0 php mysql sql-injection

我试图检查一个网站的SQL注入攻击,并惊讶地发现它不是很简单,因为下面是简单的代码.

$sql="select * from user_acount where login_id='".$username."' and password='".$password."' and status='1' ";
Run Code Online (Sandbox Code Playgroud)

我不能做任何SQL注入来测试它.我写了以下内容

第一次尝试检查sql注入

Login:  admin'--
Password:'i typed nothing here '
Run Code Online (Sandbox Code Playgroud)

结果您无法登录密码错误.

第二:

Login:  admin or 1=1 --' 
Password:''
Run Code Online (Sandbox Code Playgroud)

结果您无法登录密码错误.

第三:

Login:  admin' or 1=1 
Password:''
Run Code Online (Sandbox Code Playgroud)

第4名:登录:admin或1 = 1' - 密码:''

结果您无法登录密码错误.

有谁能解释是什么阻止了我?我没有使用预处理语句,我也没有使用任何过滤器类,我没有real_escape_string?

Osw*_*ald 5

  • 魔术引号可能已打开(因此用户输入会自动处理,以便更适合编写数据库查询).
  • 注册Globals可能会被关闭(因此您必须使用$_REQUEST['username']或相关而不是$username).
  • 您的程序中可能存在一个错误,它会阻止输入admin'--存储$username(例如,表单元素名称与变量名称不匹配).