无法执行以分号

时间:2017-04-12 02:24:27

标签: php mysql sql-injection

我正在尝试一个已经正常工作的简单SQL注入示例。目标是将SQL代码添加到要求EmployeeID和Password的登录页面。在这个例子中,我应该知道以下信息:
*有一个名为Admin
的用户 *有一个名为Name

的表字段

有了这些数据,下面的代码就可以了。在第二个破折号之后包含一个空格,以便将其解释为注释,以便忽略查询的其余部分。基本上,密码信息不是必需的。

' or Name = 'Admin'; -- 

到目前为止,这么好。现在,我必须包含第二个SQL语句,并且我被告知我可以使用分号作为多个SQL语句的分隔符。所以我做了以下事情:

' or Name = 'Admin'; SELECT id FROM credential; -- 

但它不起作用。我收到一条消息,说SQL语法中有错误。我想也许在一行中不支持多个查询,但我使用MySQL控制台进行了测试,我可以成功发出由分号分隔的2个select语句。下面,我展示了查询(故意通过echo语句显示)和屏幕上显示的错误。

我非常感谢您的反馈,以帮助我发现并解决我的问题。

SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email,nickname,Password FROM credential WHERE eid= '' or Name = 'Admin'; SELECT id FROM credential; -- ' and Password='da39a3ee5e6b4b0d3255bfef95601890afd80709'


There was an error running the query [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id FROM credential; -- ' and Password='da39a3ee5e6b4b0d3255bfef95601890af' at line 3]\n

0 个答案:

没有答案