所以我设置了一台服务器来提供付款请求。用户在表单中输入他们的信用卡详细信息。
要在此处注入:
$sql = "UPDATE users SET credit_card'".$credit_card."', cvv='".$cvv."', expdate='".$exp."' WHERE userid='".$_SESSION['userid']."'";
我正在尝试从此查询中更改其他用户密码。
从表单发布$credit_card
的位置。我试着通过编写自己的查询来注入$credit_card
部分,并通过在结尾添加;--
来摆脱其余部分。
我用于$credit_card
的声明是:
', password='test' where userid='10';--
现在,我很肯定这是昨天工作但现在出现以下错误,我无法绕过它。有什么帮助吗?
查询失败:UPDATE用户SET credit_card'',密码='测试'WHERE userid = '20'; - ,cvv ='',expdate =''WHERE userid = '20'
答案 0 :(得分:2)
并非所有数据库函数都接受多个语句,因此;
分隔符可能被视为意外输入。
MySQL中单行注释的语法是-- Foo
(请注意双击之后的空格。)
如果服务器代码是您的,您只需打印服务器生成的实际错误消息(而不是一些通用的“出错”文本)。如果不是,只需将错误消息中的SQL代码复制并粘贴到您喜欢的MySQL客户端中。