First commit
This commit is contained in:
30
routes/auth_vulnerable.js
Normal file
30
routes/auth_vulnerable.js
Normal file
@@ -0,0 +1,30 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user