是否可以通过SQL注入从MySQL中的INSERT/SELECT语句启动UPDATE/DELETE语句?
让我们使用以下易受攻击的查询($id未被转义): 在MySQL 5.x中,是否可以通过UPDATE语句修改某些数据,该语句将出现在被攻击的SELECT语句中 我考虑过使用benchmark()函数:是否可以通过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服务器版本对应的手册,以了解使用“更新…”附近的正确语法 有没有其他不使用存储过
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不允许使用这种形式的多个语句(但用于选择其他数据的子查询和联合是有效的)。