【发布时间】:2012-02-15 14:05:49
【问题描述】:
是否可以在 SELECT-Query 中使用子查询修改数据库?相关数据库为mysql数据库。
更多细节: 相关查询如下所示:
SELECT * FROM table WHERE id = $x
并且变量 $x 可以替换为任何东西。唯一的限制是,查询是通过 php 的 mysql_query() 执行的,这会阻止执行多个后续查询。在这种情况下,修改数据库很容易,只需设置
$x = "42; DROP TABLE foo;"
【问题讨论】:
-
创建一个只有读取权限的 SQL 用户,并在该用户上运行查询。简单而安全。
-
这就是我打算做的事情——我只是在寻找一种方法来证明使用此类查询的网站是不安全的(显然是......)
-
您更新后的示例没有显示术语技术意义上的sub-query...您是在询问多个命令而不是具体的子查询吗?
-
不,更新后的示例显示了它不工作的方式,但我已经尝试过。
标签: mysql security sql-injection