是否可以通过SQL注入从MySQL中的INSERT/SELECT语句启动UPDATE/DELETE语句?

是否可以通过SQL注入从MySQL中的INSERT/SELECT语句启动UPDATE/DELETE语句?,mysql,sql-injection,Mysql,Sql Injection,让我们使用以下易受攻击的查询($id未被转义): 在MySQL 5.x中,是否可以通过UPDATE语句修改某些数据,该语句将出现在被攻击的SELECT语句中 我考虑过使用benchmark()函数: SELECT * FROM table WHERE id = id OR benchmark(1, (UPDATE ...)) 但它似乎不起作用: 错误1064(42000):您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解使用“更新…”附近的正确语法 有没有其他不使用存储过

让我们使用以下易受攻击的查询($id未被转义):

在MySQL 5.x中,是否可以通过UPDATE语句修改某些数据,该语句将出现在被攻击的SELECT语句中

我考虑过使用benchmark()函数:

SELECT * FROM table WHERE id = id OR benchmark(1, (UPDATE ...))
但它似乎不起作用:

错误1064(42000):您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解使用“更新…”附近的正确语法

有没有其他不使用存储过程的可能性


编辑:当然也不使用多个查询…

这取决于可能通过的驾驶员:

SELECT * FROM table WHERE id = id; UPDATE table ...

根据驾驶员的不同,这可能会通过:

SELECT * FROM table WHERE id = id; UPDATE table ...

我忘了提到它没有使用支持多个查询的驱动程序。投票关闭是一个无意义的问题。我忘了提到它没有使用支持多个查询的驱动程序。投票关闭是一个无意义的问题。值得注意的是,PHP的MySQL API不允许使用这种形式的多个语句值得注意的是,PHP的MySQL API不允许使用这种形式的多个语句(但用于选择其他数据的子查询和联合是有效的)。