我想知道是否可以覆盖 SQL 查询的 Where 子句中的列值(在我的例子中是 MySQL)。
为了更清楚,这里有一个例子:
假设一个基本查询是:
SELECT lastname, firstname FROM contacts WHERE lastname = "Doe";
是否可以通过修改 WHERE 部分之后的内容来强制lastname
并从其他表返回值?firstname
就像是
SELECT lastname, firstname FROM contacts WHERE lastname = (SELECT name FROM companies);
我目前正在测试一个 Web 应用程序,我发现了一个 SQL 注入缺陷,我可以在其中更改Doe
为我想要的任何内容,但我仅限于一个查询(PHP 的 mysql_query 限制)和addslashes
(所以没有“和”)。