Mysql 更新查询中的SQL注入
所以我设置了一个服务器来处理付款请求。用户在表单中输入其信用卡详细信息 要在此处插入的查询:Mysql 更新查询中的SQL注入,mysql,sql,database,sql-injection,code-injection,Mysql,Sql,Database,Sql Injection,Code Injection,所以我设置了一个服务器来处理付款请求。用户在表单中输入其信用卡详细信息 要在此处插入的查询: $sql = "UPDATE users SET credit_card'".$credit_card."', cvv='".$cvv."', expdate='".$exp."' WHERE userid='".$_SESSION['userid']."'"; 我正在尝试更改此查询中的其他用户密码 其中,$credit\u card是从表单中过帐的。我试图通过编写自己的查询来注入$credit_ca
$sql = "UPDATE users SET credit_card'".$credit_card."', cvv='".$cvv."', expdate='".$exp."' WHERE userid='".$_SESSION['userid']."'";
我正在尝试更改此查询中的其他用户密码
其中,$credit\u card
是从表单中过帐的。我试图通过编写自己的查询来注入$credit_card
部分,并通过添加来除去其余部分--代码>结束
我用于$credit\u card
的对账单是:
', password='test' where userid='10';--
现在,我肯定这是工作昨天,但现在出现以下错误,我不能把我的头围绕它。需要帮忙吗
查询失败:更新用户设置信用卡“”,密码=“测试”,其中userid='20';--,cvv='',expdate='',其中userid='20'
并非所有数据库函数都接受多个语句,因此代码>分隔符可能被视为意外输入
MySQL中单行注释的语法是--Foo
(请注意双破折号后面的空格)
如果服务器代码是您的,您可以只打印服务器生成的实际错误消息(而不是一些通用的“出错”文本)。如果不是,只需将错误消息中的SQL代码复制并粘贴到您喜爱的MySQL客户端中即可
请注意,错误消息显示了条件的文本:where userid='20'
两次--我认为在构建sql字符串时出现了问题。是的,但不是;--应该忽略字符串后面的其他部分吗?所以它后面是什么并不重要。而且第一个用户ID应该不同,因为我想更改另一个用户的密码。该映像是jsut,用于测试堆栈溢出。请始终以内联纯文本而不是外部图片的形式提供源代码、错误消息和其他文本信息。文本可搜索、可重复使用,通常更易于阅读。