-2

我是一名学生(不是黑客),我必须在 mysql 数据库上注入以下查询:

DELETE FROM users WHERE username='X'

其中 X 是我的注入字符串。

我不能使用;因为堆积查询在 MySql + PHP 中被阻止。

谷歌搜索后,我发现有一个命令 OUTPUT 输出已删除的查询,但为了使用它,我必须以某种方式关闭前一个查询。我试过这样的事情:

DELETE FROM users WHERE username='' and DELETE FROM users OUTPUT DELETED.*

但它没有用。如果是两个选择查询,我可以使用 UNION 但它们不是......

有任何想法吗?

编辑:

我想查看表格中的行,只要我看到它们,我不在乎是否删除它们。

4

1 回答 1

0

您可以使用子选择并执行盲 SQL 注入:

dummy' AND EXISTS (SELECT * FROM table WHERE foo='bar') AND '1'='1

这里只有当表中存在foo等于的行时,才会删除用户“dummy” bar

于 2013-11-03T11:20:51.540 回答