Skip to content

Commit a96ea18

Browse files
committed
JS: add test cases for serialize-javascript with tainted object properties
1 parent 70647ce commit a96ea18

File tree

1 file changed

+25
-1
lines changed
  • javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss

1 file changed

+25
-1
lines changed

javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/tst2.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,28 @@ app.get('/baz', function(req, res) {
8787

8888
res.send(p); // $ Alert
8989
res.send(other.p); // $ Alert
90-
});
90+
});
91+
92+
app.get('/baz', function(req, res) {
93+
let { p } = req.params; // $ MISSING: Source
94+
95+
var serialized = serializeJavaScript(p);
96+
97+
res.send(serialized);
98+
99+
var unsafe = serializeJavaScript({someProperty: p}, {unsafe: true});
100+
101+
res.send(unsafe); // $ MISSING: Alert
102+
});
103+
104+
app.get('/baz', function(req, res) {
105+
let { p } = req.params; // $ MISSING: Source
106+
107+
var serialized = serializeJavaScript(p);
108+
109+
res.send(serialized);
110+
let obj = {someProperty: p};
111+
var unsafe = serializeJavaScript(obj, {unsafe: true});
112+
113+
res.send(unsafe); // $ MISSING: Alert
114+
});

0 commit comments

Comments
 (0)