add express.csrf as an CSRF protecting middleware

This commit is contained in:
Erik Krogh Kristensen
2020-10-19 15:39:02 +02:00
parent 27a2cd310d
commit ce95676130
2 changed files with 19 additions and 0 deletions

View File

@@ -94,6 +94,8 @@ DataFlow::CallNode csrfMiddlewareCreation() {
exists(result.getOptionArgument(0, "csrf"))
or
callee = DataFlow::moduleMember("lusca", "csrf")
or
callee = DataFlow::moduleMember("express", "csrf")
)
}

View File

@@ -73,3 +73,20 @@ var passport = require('passport');
let newEmail = req.cookies["newEmail"];
})
});
(function () {
var app = express()
app.use(cookieParser())
app.use(passport.authorize({ session: true }))
// Assume token is being set somewhere
app.use(express.csrf({ value: function (request) {
return request.headers['x-xsrf-token'];
}}));
app.post('/changeEmail', function (req, res) {
let newEmail = req.cookies["newEmail"];
})
});