Php SQL注入-在非堆叠mysql\u查询中一次更新两个表

Php SQL注入-在非堆叠mysql\u查询中一次更新两个表,php,mysql,sql-injection,Php,Mysql,Sql Injection,我正在学习一些高级SQL注入技术,但最终我发现了一些更难的东西 我有一个这样的PHP代码(我无法更改它,它是PHP+MySQL 5.6.19[InnoDB]): 我已经找到了一种方法,通过在POST参数的开头传递一个有效的数字来愚弄PHP,如下所示(这一个改变了其他列的值,这很好,有效): 现在我想在同一个更新查询中更改(更新)其他表

我正在学习一些高级SQL注入技术,但最终我发现了一些更难的东西

我有一个这样的PHP代码(我无法更改它,它是PHP+MySQL 5.6.19[InnoDB]):

我已经找到了一种方法,通过在POST参数的开头传递一个有效的数字来愚弄PHP,如下所示(这一个改变了其他列的值,这很好,有效):

现在我想在同一个更新查询中更改(更新)其他表<记住!我无法更改代码,mysql\u query不允许堆叠查询(不能执行多个查询,用分号分隔查询)。

理论上,它可能看起来像这样(当然,它不起作用):

或者(一些理论技巧):

你有什么想法吗?

谢谢您的帮助。

这两个值都是整数,对吗?把它们投成这样,你就应该准备好了。@chris85我想你没想到。我处于攻击者的位置,而不是程序员。啊哈,是的,读错了。仔细看看和。更新命令没有联合,你不能这样做。也许,如果您发现一些操作系统交互命令或其他易受攻击的存储函数可用于堆叠查询,那么这是可能的。无论如何,您可以通过这种SQL注入获取任何数据,请阅读我的白皮书-在Google中搜索“SQL注入Anywhere”。尝试搜索“
$newValue = $_POST['newvalue'];
if ($newValue > 1000)
    mysql_query("UPDATE `table` SET `column1`='".$newValue."' WHERE `id`='".$id."'");
1001', `column2` = 'some_value' WHERE `id` = 'some_other_value';#
1001' WHERE `id` = 'some_other_value' OR (UPDATE `table2` SET ... = ... LIMIT 1);#
1001'*(UPDATE `table2` SET ... = ... LIMIT 1) WHERE `id` = 'some_other_value';#