0

我有一个课程项目,我连接到本地服务器localhost:8080/website.php并执行 SQL 注入。服务器有一个帐号和密码字段。提交时,ID 和密码值被输入到 SQL 语句中:SELECT * FROM accounts WHERE id = (ID value) AND password = '(password value)'我将如何利用它并执行 SQL 注入?

我已经尝试了下面列出的一些东西。

' or 1=1 --变成SELECT * FROM accounts WHERE id = 12345 AND password = '' or 1=1 --'开了一个账户,它总是同一个账户。如何访问不同的帐户?

'; INSERT INTO accounts(id,password) values('12345','abc');--变成SELECT * FROM accounts WHERE id = 12345 AND password = ''; INSERT INTO accounts(id,password) values('12345','abc');--'了这给出了一个 sql 错误

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

4

1 回答 1

1

您可以发送一个值来使 where 无效并使结果始终为真。这将使您无需知道密码即可访问系统。

'或 1=1 --

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

在此处输入图像描述

于 2013-11-14T04:13:55.357 回答