SQL注入 - 在非堆叠的mysql_query中

时间:2015-04-25 21:55:12

标签: php mysql sql-injection

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

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

$newValue = $_POST['newvalue'];
if ($newValue > 1000)
    mysql_query("UPDATE `table` SET `column1`='".$newValue."' WHERE `id`='".$id."'");

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

1001', `column2` = 'some_value' WHERE `id` = 'some_other_value';#

现在我想在同一个UPDATE查询中更改(更新)其他表。 切记!我无法更改代码,而mysql_query不允许堆叠查询(您无法执行多个查询,以分号分隔它们)。

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

1001' WHERE `id` = 'some_other_value' OR (UPDATE `table2` SET ... = ... LIMIT 1);#

或(某些理论技巧):

1001'*(UPDATE `table2` SET ... = ... LIMIT 1) WHERE `id` = 'some_other_value';#

你有什么想法吗? 谢谢你的帮助。

0 个答案:

没有答案