new capacity bits (#67)

This commit is contained in:
Eli Peter 2026-05-07 01:29:31 -04:00 committed by GitHub
parent afaffc0df6
commit 7d0e7320e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
261 changed files with 10591 additions and 231 deletions

View file

@ -0,0 +1,20 @@
// Safe: user-supplied substring routed through the project-local
// `escapeXpath` helper before concatenation. The sanitizer clears the
// XPATH_INJECTION cap so the sink does not fire.
const xpath = require('xpath');
const { DOMParser } = require('xmldom');
function escapeXpath(raw) {
return raw.replace(/'/g, ''').replace(/"/g, '"');
}
function lookup(req, res) {
const doc = new DOMParser().parseFromString('<root/>');
const user = req.query.user;
const safe = escapeXpath(user);
const expr = "//user[name='" + safe + "']";
const nodes = xpath.select(expr, doc);
res.json(nodes);
}
module.exports = lookup;