Files
codeql/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/tainted-array-steps.js
2020-06-04 11:00:40 +02:00

18 lines
522 B
JavaScript

var fs = require('fs'),
http = require('http'),
url = require('url'),
sanitize = require('sanitize-filename'),
pathModule = require('path')
;
var server = http.createServer(function(req, res) {
let path = url.parse(req.url, true).query.path;
res.write(fs.readFileSync(['public', path].join('/'))); // BAD: taint is preserved
let parts = ['public', path];
parts = parts.map(x => x.toLowerCase());
res.write(fs.readFileSync(parts.join('/'))); // BAD: taint is preserved
});
server.listen();