Php 本地服务器上的SQL注入

Php 本地服务器上的SQL注入,php,sql,sql-injection,Php,Sql,Sql Injection,我有一个课程项目,我连接到本地服务器localhost:8080/website.php并执行SQL注入。服务器具有帐户ID号和密码字段。提交时,ID和密码值被输入到SQL语句中:从帐户中选择*其中ID=ID值,密码='密码值',我将如何利用此漏洞并执行SQL注入 我试过下面列出的几种方法 '或1=1-从id=12345和密码=1的帐户中选择*或1=1-'打开一个帐户,它总是同一个帐户。如何访问其他帐户 ",;在accountsid中插入密码值“12345”和“abc”;-从id=12345和密

我有一个课程项目,我连接到本地服务器localhost:8080/website.php并执行SQL注入。服务器具有帐户ID号和密码字段。提交时,ID和密码值被输入到SQL语句中:从帐户中选择*其中ID=ID值,密码='密码值',我将如何利用此漏洞并执行SQL注入

我试过下面列出的几种方法

'或1=1-从id=12345和密码=1的帐户中选择*或1=1-'打开一个帐户,它总是同一个帐户。如何访问其他帐户

",;在accountsid中插入密码值“12345”和“abc”;-从id=12345和密码为的帐户中选择*;在accountsid中插入密码值'12345','abc';-'这会产生一个sql错误


我如何在不知道id的情况下登录到任何帐户,'或1=1-无论我为id输入了什么,都会登录到同一帐户。此外,我如何在数据库中创建自己的帐户?

您可以发送一个值以使where无效,并使结果始终为真。这将允许您在不知道密码的情况下访问系统

'或1=1-

Mike在我用sql运行了你的语句之后,我得到了这个


服务器上是否启用了magic_quotes 1的可能副本?不应该这样,这会阻碍你的尝试。2我不认为任何用于PHP MySQL_*、mysqli_*、PDO的MySQL驱动程序都支持在一条语句中进行多个查询,所以类似command1的东西;命令2。。。不行。3尝试在-,之后添加一个尾随空格,这样您就有了-。或者,尝试作为注释分隔符。这里的关键是让sql认为您已经关闭了单引号,1=1确保查询始终返回数据。它也因SQL后端的类型而异。好的,这是可行的,但无论我在帐户ID字段中输入什么,它总是访问同一个帐户。如何访问其他帐户?如何将自己的帐户添加到数据库中?用户就是表单中使用的用户。使用“或1=1”尝试插入;插入声明-