Files
ENI-JSAdvanced_07/routes/auth_vulnerable.js
2025-12-18 15:17:27 +01:00

30 lines
1020 B
JavaScript

var express = require('express');
var router = express.Router();
var db = require('../db/database'); // Importe notre BDD
/* POST /login - Version VULNÉRABLE */
router.post('/login', function(req, res, next) {
const { username, password } = req.body;
// !! LA FAILLE EST ICI (Concaténation de chaîne) !!
const sqlQuery = "SELECT * FROM users WHERE username = '" + username +
"' AND password = '" + password + "'";
console.log("Requête VULNÉRABLE exécutée :", sqlQuery);
// db.get récupère la première ligne correspondante
db.get(sqlQuery, (err, row) => {
if (err) {
// Transmet l'erreur au gestionnaire d'erreurs d'Express
return next(err);
}
if (row) {
res.json({ message: `(Vulnérable) Connexion réussie ! Bonjour, ${row.username} (rôle: ${row.role})` });
} else {
res.status(401).json({ message: "(Vulnérable) Échec de la connexion." });
}
});
});
module.exports = router;