【发布时间】:2018-07-19 01:04:23
【问题描述】:
我正在使用 NodeJS 和 mysql 来处理 SQL 数据库。
以学校为例,我想模拟 SQL 注入。
我用可能的SQL injection写代码:
const mysql = require('mysql')
const connection = mysql.createConnection({
host: settings.DB_MYSQL_HOST,
user: settings.DB_MYSQL_USER,
password: settings.DB_MYSQL_PSW,
database: settings.DB_MYSQL_DB,
})
let sql = 'DROP TABLE user;'
connection.query('DELETE FROM todos WHERE id = \'' + sql + '\'', (error) => {
if (error) {
res.json({ res: error })
console.log('SQL ERROR')
console.log(error)
throw error
}
this._sendSucc(res)
})
但是SQL injection 不起作用。我想攻击表名'user'。
哪里出了问题?我没有使用准备语句。
你能给我一个SQL injection的例子
【问题讨论】:
标签: mysql node.js sql-injection