gpt4 book ai didi

php - sql注入(inject)改变返回值

转载 作者:可可西里 更新时间:2023-11-01 07:49:52 29 4
gpt4 key购买 nike

我最近想到了这样的事情:

$sql = "SELECT password FROM users WHERE user = '" . $_POST["user"] . "'";
$result = mysql_query($sql);

if (myql_num_rows($result) != 1) {
//Error
}

$data = mysql_fetch_array($result);

if ($data["password"] == md5($_POST["password"])) {
//Welcome
} else {
//Error
}

即使没有使用参数化查询或至少转义,我也想不出一个合适的 sql 注入(inject),您可以通过它到达 Welcome 点。您可能需要以某种方式修改返回的密码,然后您可以将其 md5 值用作密码。

如果这可能,有什么想法吗?

最佳答案

为用户使用以下值:

obviouslyinvalidusername' union select MD5('password123') as password --

然后密码 password123 应该进行身份验证。我不知道此时您将登录哪个用户帐户,因为未显示该部分逻辑。

关于php - sql注入(inject)改变返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14260312/

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