maria db insertion -sql injection -error

时间:2016-06-17 12:07:11

标签: mysql node.js mariadb mariasql

我正在尝试使用SQL注入将值插入数据库(MariaDB)。

var insertValues = {'username': username, 'firstname': firstname, 'lastname': lastname, 'email': email,
                        'password':password, 'profileType': profileType,'userType': userType, 'gcmId': gcmId,
                        'deviceName': deviceName, 'osType': osType, 'osVersion': osVersion,'isBlocked':isBlocked,
                        'isActive':isActive, 'ofActive':ofActive};

我使用的查询格式是:

    function registerUser(insertValues,callback)
{
    model.client.query('insert into users set ?',insertValues,function(err) {
      if(!err)
            callback({"success":'1'});
        else
            console.log(err);
            callback({"success":'0'});
    });
}
module.exports.registerUser=registerUser;

但这会产生语法错误:

  

Maria Db Connected at:128.199.242.240
     {[错误:您的SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,以获得在' NULL' NULL附近使用的正确语法。在第1行]代码:1064}

1 个答案:

答案 0 :(得分:1)

两个错误:

model.client.query("insert into users set ?",data;
                      column missing -----^
                  closing parantheses missing ---^

应该是这样的:

model.client.query("insert into users set your_column = ?", data);