mirror of
https://github.com/github/codeql.git
synced 2026-04-23 15:55:18 +02:00
JS: Port ReflectedXss
This commit is contained in:
@@ -5,12 +5,30 @@
|
||||
|
||||
import javascript
|
||||
import ReflectedXssCustomizations::ReflectedXss
|
||||
private import Xss::Shared as Shared
|
||||
private import Xss::Shared as SharedXss
|
||||
|
||||
/**
|
||||
* A taint-tracking configuration for reasoning about XSS.
|
||||
* A taint-tracking configuration for reasoning about reflected XSS.
|
||||
*/
|
||||
class Configuration extends TaintTracking::Configuration {
|
||||
module ReflectedXssConfig implements DataFlow::ConfigSig {
|
||||
predicate isSource(DataFlow::Node source) { source instanceof Source }
|
||||
|
||||
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
|
||||
|
||||
predicate isBarrier(DataFlow::Node node) {
|
||||
node instanceof Sanitizer or node = SharedXss::BarrierGuard::getABarrierNode()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Taint-tracking for reasoning about reflected XSS.
|
||||
*/
|
||||
module ReflectedXssFlow = TaintTracking::Global<ReflectedXssConfig>;
|
||||
|
||||
/**
|
||||
* DEPRECATED. Use the `ReflectedXssFlow` module instead.
|
||||
*/
|
||||
deprecated class Configuration extends TaintTracking::Configuration {
|
||||
Configuration() { this = "ReflectedXss" }
|
||||
|
||||
override predicate isSource(DataFlow::Node source) { source instanceof Source }
|
||||
@@ -28,11 +46,10 @@ class Configuration extends TaintTracking::Configuration {
|
||||
}
|
||||
}
|
||||
|
||||
private class QuoteGuard extends TaintTracking::SanitizerGuardNode, Shared::QuoteGuard {
|
||||
private class QuoteGuard extends SharedXss::QuoteGuard {
|
||||
QuoteGuard() { this = this }
|
||||
}
|
||||
|
||||
private class ContainsHtmlGuard extends TaintTracking::SanitizerGuardNode, Shared::ContainsHtmlGuard
|
||||
{
|
||||
private class ContainsHtmlGuard extends SharedXss::ContainsHtmlGuard {
|
||||
ContainsHtmlGuard() { this = this }
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
|
||||
import javascript
|
||||
import semmle.javascript.security.dataflow.ReflectedXssQuery
|
||||
import DataFlow::PathGraph
|
||||
import ReflectedXssFlow::PathGraph
|
||||
|
||||
from Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink
|
||||
where cfg.hasFlowPath(source, sink)
|
||||
from ReflectedXssFlow::PathNode source, ReflectedXssFlow::PathNode sink
|
||||
where ReflectedXssFlow::flowPath(source, sink)
|
||||
select sink.getNode(), source, sink, "Cross-site scripting vulnerability due to a $@.",
|
||||
source.getNode(), "user-provided value"
|
||||
|
||||
@@ -1,444 +1,304 @@
|
||||
nodes
|
||||
| ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:8:33:8:45 | req.params.id |
|
||||
| ReflectedXss.js:8:33:8:45 | req.params.id |
|
||||
| ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:17:31:17:39 | params.id |
|
||||
| ReflectedXss.js:17:31:17:39 | params.id |
|
||||
| ReflectedXss.js:22:12:22:19 | req.body |
|
||||
| ReflectedXss.js:22:12:22:19 | req.body |
|
||||
| ReflectedXss.js:22:12:22:19 | req.body |
|
||||
| ReflectedXss.js:23:12:23:27 | marked(req.body) |
|
||||
| ReflectedXss.js:23:12:23:27 | marked(req.body) |
|
||||
| ReflectedXss.js:23:19:23:26 | req.body |
|
||||
| ReflectedXss.js:23:19:23:26 | req.body |
|
||||
| ReflectedXss.js:29:12:29:19 | req.body |
|
||||
| ReflectedXss.js:29:12:29:19 | req.body |
|
||||
| ReflectedXss.js:29:12:29:19 | req.body |
|
||||
| ReflectedXss.js:30:7:33:4 | mytable |
|
||||
| ReflectedXss.js:30:17:33:4 | table([ ... y]\\n ]) |
|
||||
| ReflectedXss.js:30:23:33:3 | [\\n [ ... dy]\\n ] |
|
||||
| ReflectedXss.js:32:5:32:22 | ['body', req.body] |
|
||||
| ReflectedXss.js:32:14:32:21 | req.body |
|
||||
| ReflectedXss.js:32:14:32:21 | req.body |
|
||||
| ReflectedXss.js:34:12:34:18 | mytable |
|
||||
| ReflectedXss.js:34:12:34:18 | mytable |
|
||||
| ReflectedXss.js:41:12:41:19 | req.body |
|
||||
| ReflectedXss.js:41:12:41:19 | req.body |
|
||||
| ReflectedXss.js:41:12:41:19 | req.body |
|
||||
| ReflectedXss.js:42:12:42:39 | convert ... q.body) |
|
||||
| ReflectedXss.js:42:12:42:39 | convert ... q.body) |
|
||||
| ReflectedXss.js:42:31:42:38 | req.body |
|
||||
| ReflectedXss.js:42:31:42:38 | req.body |
|
||||
| ReflectedXss.js:56:12:56:19 | req.body |
|
||||
| ReflectedXss.js:56:12:56:19 | req.body |
|
||||
| ReflectedXss.js:56:12:56:19 | req.body |
|
||||
| ReflectedXss.js:64:14:64:21 | req.body |
|
||||
| ReflectedXss.js:64:14:64:21 | req.body |
|
||||
| ReflectedXss.js:64:39:64:42 | file |
|
||||
| ReflectedXss.js:65:16:65:19 | file |
|
||||
| ReflectedXss.js:65:16:65:19 | file |
|
||||
| ReflectedXss.js:68:12:68:41 | remark( ... q.body) |
|
||||
| ReflectedXss.js:68:12:68:52 | remark( ... tring() |
|
||||
| ReflectedXss.js:68:12:68:52 | remark( ... tring() |
|
||||
| ReflectedXss.js:68:33:68:40 | req.body |
|
||||
| ReflectedXss.js:68:33:68:40 | req.body |
|
||||
| ReflectedXss.js:72:12:72:56 | unified ... q.body) |
|
||||
| ReflectedXss.js:72:12:72:65 | unified ... oString |
|
||||
| ReflectedXss.js:72:12:72:65 | unified ... oString |
|
||||
| ReflectedXss.js:72:48:72:55 | req.body |
|
||||
| ReflectedXss.js:72:48:72:55 | req.body |
|
||||
| ReflectedXss.js:74:20:74:27 | req.body |
|
||||
| ReflectedXss.js:74:20:74:27 | req.body |
|
||||
| ReflectedXss.js:74:34:74:34 | f |
|
||||
| ReflectedXss.js:75:14:75:14 | f |
|
||||
| ReflectedXss.js:75:14:75:14 | f |
|
||||
| ReflectedXss.js:83:12:83:19 | req.body |
|
||||
| ReflectedXss.js:83:12:83:19 | req.body |
|
||||
| ReflectedXss.js:83:12:83:19 | req.body |
|
||||
| ReflectedXss.js:84:12:84:30 | snarkdown(req.body) |
|
||||
| ReflectedXss.js:84:12:84:30 | snarkdown(req.body) |
|
||||
| ReflectedXss.js:84:22:84:29 | req.body |
|
||||
| ReflectedXss.js:84:22:84:29 | req.body |
|
||||
| ReflectedXss.js:85:12:85:31 | snarkdown2(req.body) |
|
||||
| ReflectedXss.js:85:12:85:31 | snarkdown2(req.body) |
|
||||
| ReflectedXss.js:85:23:85:30 | req.body |
|
||||
| ReflectedXss.js:85:23:85:30 | req.body |
|
||||
| ReflectedXss.js:97:12:97:19 | req.body |
|
||||
| ReflectedXss.js:97:12:97:19 | req.body |
|
||||
| ReflectedXss.js:97:12:97:19 | req.body |
|
||||
| ReflectedXss.js:98:12:98:38 | markdow ... q.body) |
|
||||
| ReflectedXss.js:98:12:98:38 | markdow ... q.body) |
|
||||
| ReflectedXss.js:98:30:98:37 | req.body |
|
||||
| ReflectedXss.js:98:30:98:37 | req.body |
|
||||
| ReflectedXss.js:100:12:100:39 | markdow ... q.body) |
|
||||
| ReflectedXss.js:100:12:100:39 | markdow ... q.body) |
|
||||
| ReflectedXss.js:100:31:100:38 | req.body |
|
||||
| ReflectedXss.js:100:31:100:38 | req.body |
|
||||
| ReflectedXss.js:103:12:103:84 | markdow ... q.body) |
|
||||
| ReflectedXss.js:103:12:103:84 | markdow ... q.body) |
|
||||
| ReflectedXss.js:103:76:103:83 | req.body |
|
||||
| ReflectedXss.js:103:76:103:83 | req.body |
|
||||
| ReflectedXss.js:110:16:110:30 | request.query.p |
|
||||
| ReflectedXss.js:110:16:110:30 | request.query.p |
|
||||
| ReflectedXss.js:110:16:110:30 | request.query.p |
|
||||
| ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:10:24:10:36 | req.params.id |
|
||||
| ReflectedXssContentTypes.js:10:24:10:36 | req.params.id |
|
||||
| ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:20:24:20:36 | req.params.id |
|
||||
| ReflectedXssContentTypes.js:20:24:20:36 | req.params.id |
|
||||
| ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:39:23:39:35 | req.params.id |
|
||||
| ReflectedXssContentTypes.js:39:23:39:35 | req.params.id |
|
||||
| ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id |
|
||||
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id |
|
||||
| ReflectedXssGood3.js:135:9:135:27 | url |
|
||||
| ReflectedXssGood3.js:135:15:135:27 | req.params.id |
|
||||
| ReflectedXssGood3.js:135:15:135:27 | req.params.id |
|
||||
| ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) |
|
||||
| ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) |
|
||||
| ReflectedXssGood3.js:139:24:139:26 | url |
|
||||
| etherpad.js:9:5:9:53 | response |
|
||||
| etherpad.js:9:16:9:30 | req.query.jsonp |
|
||||
| etherpad.js:9:16:9:30 | req.query.jsonp |
|
||||
| etherpad.js:9:16:9:53 | req.que ... e + ")" |
|
||||
| etherpad.js:11:12:11:19 | response |
|
||||
| etherpad.js:11:12:11:19 | response |
|
||||
| formatting.js:4:9:4:29 | evil |
|
||||
| formatting.js:4:16:4:29 | req.query.evil |
|
||||
| formatting.js:4:16:4:29 | req.query.evil |
|
||||
| formatting.js:6:14:6:47 | util.fo ... , evil) |
|
||||
| formatting.js:6:14:6:47 | util.fo ... , evil) |
|
||||
| formatting.js:6:43:6:46 | evil |
|
||||
| formatting.js:7:14:7:53 | require ... , evil) |
|
||||
| formatting.js:7:14:7:53 | require ... , evil) |
|
||||
| formatting.js:7:49:7:52 | evil |
|
||||
| live-server.js:4:11:4:27 | tainted |
|
||||
| live-server.js:4:21:4:27 | req.url |
|
||||
| live-server.js:4:21:4:27 | req.url |
|
||||
| live-server.js:6:13:6:50 | `<html> ... /html>` |
|
||||
| live-server.js:6:13:6:50 | `<html> ... /html>` |
|
||||
| live-server.js:6:28:6:34 | tainted |
|
||||
| live-server.js:10:11:10:27 | tainted |
|
||||
| live-server.js:10:21:10:27 | req.url |
|
||||
| live-server.js:10:21:10:27 | req.url |
|
||||
| live-server.js:12:13:12:50 | `<html> ... /html>` |
|
||||
| live-server.js:12:13:12:50 | `<html> ... /html>` |
|
||||
| live-server.js:12:28:12:34 | tainted |
|
||||
| pages/Next.jsx:8:13:8:19 | req.url |
|
||||
| pages/Next.jsx:8:13:8:19 | req.url |
|
||||
| pages/Next.jsx:8:13:8:19 | req.url |
|
||||
| pages/Next.jsx:15:13:15:19 | req.url |
|
||||
| pages/Next.jsx:15:13:15:19 | req.url |
|
||||
| pages/Next.jsx:15:13:15:19 | req.url |
|
||||
| pages/api/myapi.js:2:14:2:20 | req.url |
|
||||
| pages/api/myapi.js:2:14:2:20 | req.url |
|
||||
| pages/api/myapi.js:2:14:2:20 | req.url |
|
||||
| partial.js:9:25:9:25 | x |
|
||||
| partial.js:10:14:10:14 | x |
|
||||
| partial.js:10:14:10:18 | x + y |
|
||||
| partial.js:10:14:10:18 | x + y |
|
||||
| partial.js:13:42:13:48 | req.url |
|
||||
| partial.js:13:42:13:48 | req.url |
|
||||
| partial.js:18:25:18:25 | x |
|
||||
| partial.js:19:14:19:14 | x |
|
||||
| partial.js:19:14:19:18 | x + y |
|
||||
| partial.js:19:14:19:18 | x + y |
|
||||
| partial.js:22:51:22:57 | req.url |
|
||||
| partial.js:22:51:22:57 | req.url |
|
||||
| partial.js:27:25:27:25 | x |
|
||||
| partial.js:28:14:28:14 | x |
|
||||
| partial.js:28:14:28:18 | x + y |
|
||||
| partial.js:28:14:28:18 | x + y |
|
||||
| partial.js:31:47:31:53 | req.url |
|
||||
| partial.js:31:47:31:53 | req.url |
|
||||
| partial.js:36:25:36:25 | x |
|
||||
| partial.js:37:14:37:14 | x |
|
||||
| partial.js:37:14:37:18 | x + y |
|
||||
| partial.js:37:14:37:18 | x + y |
|
||||
| partial.js:40:43:40:49 | req.url |
|
||||
| partial.js:40:43:40:49 | req.url |
|
||||
| promises.js:5:3:5:59 | new Pro ... .data)) |
|
||||
| promises.js:5:44:5:57 | req.query.data |
|
||||
| promises.js:5:44:5:57 | req.query.data |
|
||||
| promises.js:6:11:6:11 | x |
|
||||
| promises.js:6:25:6:25 | x |
|
||||
| promises.js:6:25:6:25 | x |
|
||||
| tst2.js:6:7:6:30 | p |
|
||||
| tst2.js:6:7:6:30 | r |
|
||||
| tst2.js:6:9:6:9 | p |
|
||||
| tst2.js:6:9:6:9 | p |
|
||||
| tst2.js:6:12:6:15 | q: r |
|
||||
| tst2.js:6:12:6:15 | q: r |
|
||||
| tst2.js:7:12:7:12 | p |
|
||||
| tst2.js:7:12:7:12 | p |
|
||||
| tst2.js:8:12:8:12 | r |
|
||||
| tst2.js:8:12:8:12 | r |
|
||||
| tst2.js:14:7:14:24 | p |
|
||||
| tst2.js:14:9:14:9 | p |
|
||||
| tst2.js:14:9:14:9 | p |
|
||||
| tst2.js:18:12:18:12 | p |
|
||||
| tst2.js:18:12:18:12 | p |
|
||||
| tst2.js:21:14:21:14 | p |
|
||||
| tst2.js:21:14:21:14 | p |
|
||||
| tst2.js:30:7:30:24 | p |
|
||||
| tst2.js:30:9:30:9 | p |
|
||||
| tst2.js:30:9:30:9 | p |
|
||||
| tst2.js:33:11:33:11 | p |
|
||||
| tst2.js:36:12:36:12 | p |
|
||||
| tst2.js:36:12:36:12 | p |
|
||||
| tst2.js:37:12:37:18 | other.p |
|
||||
| tst2.js:37:12:37:18 | other.p |
|
||||
| tst2.js:43:7:43:24 | p |
|
||||
| tst2.js:43:9:43:9 | p |
|
||||
| tst2.js:43:9:43:9 | p |
|
||||
| tst2.js:49:7:49:53 | unsafe |
|
||||
| tst2.js:49:16:49:53 | seriali ... true}) |
|
||||
| tst2.js:49:36:49:36 | p |
|
||||
| tst2.js:51:12:51:17 | unsafe |
|
||||
| tst2.js:51:12:51:17 | unsafe |
|
||||
| tst2.js:57:7:57:24 | p |
|
||||
| tst2.js:57:9:57:9 | p |
|
||||
| tst2.js:57:9:57:9 | p |
|
||||
| tst2.js:60:11:60:11 | p |
|
||||
| tst2.js:63:12:63:12 | p |
|
||||
| tst2.js:63:12:63:12 | p |
|
||||
| tst2.js:64:12:64:18 | other.p |
|
||||
| tst2.js:64:12:64:18 | other.p |
|
||||
| tst2.js:69:7:69:24 | p |
|
||||
| tst2.js:69:9:69:9 | p |
|
||||
| tst2.js:69:9:69:9 | p |
|
||||
| tst2.js:72:11:72:11 | p |
|
||||
| tst2.js:75:12:75:12 | p |
|
||||
| tst2.js:75:12:75:12 | p |
|
||||
| tst2.js:76:12:76:18 | other.p |
|
||||
| tst2.js:76:12:76:18 | other.p |
|
||||
| tst2.js:82:7:82:24 | p |
|
||||
| tst2.js:82:9:82:9 | p |
|
||||
| tst2.js:82:9:82:9 | p |
|
||||
| tst2.js:85:11:85:11 | p |
|
||||
| tst2.js:88:12:88:12 | p |
|
||||
| tst2.js:88:12:88:12 | p |
|
||||
| tst2.js:89:12:89:18 | other.p |
|
||||
| tst2.js:89:12:89:18 | other.p |
|
||||
| tst3.js:5:7:5:24 | p |
|
||||
| tst3.js:5:9:5:9 | p |
|
||||
| tst3.js:5:9:5:9 | p |
|
||||
| tst3.js:6:12:6:12 | p |
|
||||
| tst3.js:6:12:6:12 | p |
|
||||
| tst3.js:11:9:11:74 | code |
|
||||
| tst3.js:11:16:11:74 | prettie ... bel" }) |
|
||||
| tst3.js:11:32:11:39 | reg.body |
|
||||
| tst3.js:11:32:11:39 | reg.body |
|
||||
| tst3.js:12:12:12:15 | code |
|
||||
| tst3.js:12:12:12:15 | code |
|
||||
edges
|
||||
| ReflectedXss.js:8:33:8:45 | req.params.id | ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:8:33:8:45 | req.params.id | ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:8:33:8:45 | req.params.id | ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:8:33:8:45 | req.params.id | ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:17:31:17:39 | params.id | ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:17:31:17:39 | params.id | ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:17:31:17:39 | params.id | ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:17:31:17:39 | params.id | ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:22:12:22:19 | req.body | ReflectedXss.js:22:12:22:19 | req.body |
|
||||
| ReflectedXss.js:23:19:23:26 | req.body | ReflectedXss.js:23:12:23:27 | marked(req.body) |
|
||||
| ReflectedXss.js:23:19:23:26 | req.body | ReflectedXss.js:23:12:23:27 | marked(req.body) |
|
||||
| ReflectedXss.js:23:19:23:26 | req.body | ReflectedXss.js:23:12:23:27 | marked(req.body) |
|
||||
| ReflectedXss.js:23:19:23:26 | req.body | ReflectedXss.js:23:12:23:27 | marked(req.body) |
|
||||
| ReflectedXss.js:29:12:29:19 | req.body | ReflectedXss.js:29:12:29:19 | req.body |
|
||||
| ReflectedXss.js:30:7:33:4 | mytable | ReflectedXss.js:34:12:34:18 | mytable |
|
||||
| ReflectedXss.js:30:7:33:4 | mytable | ReflectedXss.js:34:12:34:18 | mytable |
|
||||
| ReflectedXss.js:30:17:33:4 | table([ ... y]\\n ]) | ReflectedXss.js:30:7:33:4 | mytable |
|
||||
| ReflectedXss.js:30:23:33:3 | [\\n [ ... dy]\\n ] | ReflectedXss.js:30:17:33:4 | table([ ... y]\\n ]) |
|
||||
| ReflectedXss.js:32:5:32:22 | ['body', req.body] | ReflectedXss.js:30:23:33:3 | [\\n [ ... dy]\\n ] |
|
||||
| ReflectedXss.js:32:14:32:21 | req.body | ReflectedXss.js:32:5:32:22 | ['body', req.body] |
|
||||
| ReflectedXss.js:32:14:32:21 | req.body | ReflectedXss.js:32:5:32:22 | ['body', req.body] |
|
||||
| ReflectedXss.js:41:12:41:19 | req.body | ReflectedXss.js:41:12:41:19 | req.body |
|
||||
| ReflectedXss.js:32:14:32:21 | req.body | ReflectedXss.js:30:17:33:4 | table([ ... y]\\n ]) |
|
||||
| ReflectedXss.js:42:31:42:38 | req.body | ReflectedXss.js:42:12:42:39 | convert ... q.body) |
|
||||
| ReflectedXss.js:42:31:42:38 | req.body | ReflectedXss.js:42:12:42:39 | convert ... q.body) |
|
||||
| ReflectedXss.js:42:31:42:38 | req.body | ReflectedXss.js:42:12:42:39 | convert ... q.body) |
|
||||
| ReflectedXss.js:42:31:42:38 | req.body | ReflectedXss.js:42:12:42:39 | convert ... q.body) |
|
||||
| ReflectedXss.js:56:12:56:19 | req.body | ReflectedXss.js:56:12:56:19 | req.body |
|
||||
| ReflectedXss.js:64:14:64:21 | req.body | ReflectedXss.js:64:39:64:42 | file |
|
||||
| ReflectedXss.js:64:14:64:21 | req.body | ReflectedXss.js:64:39:64:42 | file |
|
||||
| ReflectedXss.js:64:39:64:42 | file | ReflectedXss.js:65:16:65:19 | file |
|
||||
| ReflectedXss.js:64:39:64:42 | file | ReflectedXss.js:65:16:65:19 | file |
|
||||
| ReflectedXss.js:68:12:68:41 | remark( ... q.body) | ReflectedXss.js:68:12:68:52 | remark( ... tring() |
|
||||
| ReflectedXss.js:68:12:68:41 | remark( ... q.body) | ReflectedXss.js:68:12:68:52 | remark( ... tring() |
|
||||
| ReflectedXss.js:68:33:68:40 | req.body | ReflectedXss.js:68:12:68:41 | remark( ... q.body) |
|
||||
| ReflectedXss.js:68:33:68:40 | req.body | ReflectedXss.js:68:12:68:41 | remark( ... q.body) |
|
||||
| ReflectedXss.js:72:12:72:56 | unified ... q.body) | ReflectedXss.js:72:12:72:65 | unified ... oString |
|
||||
| ReflectedXss.js:72:12:72:56 | unified ... q.body) | ReflectedXss.js:72:12:72:65 | unified ... oString |
|
||||
| ReflectedXss.js:72:48:72:55 | req.body | ReflectedXss.js:72:12:72:56 | unified ... q.body) |
|
||||
| ReflectedXss.js:72:48:72:55 | req.body | ReflectedXss.js:72:12:72:56 | unified ... q.body) |
|
||||
| ReflectedXss.js:74:20:74:27 | req.body | ReflectedXss.js:74:34:74:34 | f |
|
||||
| ReflectedXss.js:74:20:74:27 | req.body | ReflectedXss.js:74:34:74:34 | f |
|
||||
| ReflectedXss.js:74:34:74:34 | f | ReflectedXss.js:75:14:75:14 | f |
|
||||
| ReflectedXss.js:74:34:74:34 | f | ReflectedXss.js:75:14:75:14 | f |
|
||||
| ReflectedXss.js:83:12:83:19 | req.body | ReflectedXss.js:83:12:83:19 | req.body |
|
||||
| ReflectedXss.js:84:22:84:29 | req.body | ReflectedXss.js:84:12:84:30 | snarkdown(req.body) |
|
||||
| ReflectedXss.js:84:22:84:29 | req.body | ReflectedXss.js:84:12:84:30 | snarkdown(req.body) |
|
||||
| ReflectedXss.js:84:22:84:29 | req.body | ReflectedXss.js:84:12:84:30 | snarkdown(req.body) |
|
||||
| ReflectedXss.js:84:22:84:29 | req.body | ReflectedXss.js:84:12:84:30 | snarkdown(req.body) |
|
||||
| ReflectedXss.js:85:23:85:30 | req.body | ReflectedXss.js:85:12:85:31 | snarkdown2(req.body) |
|
||||
| ReflectedXss.js:85:23:85:30 | req.body | ReflectedXss.js:85:12:85:31 | snarkdown2(req.body) |
|
||||
| ReflectedXss.js:85:23:85:30 | req.body | ReflectedXss.js:85:12:85:31 | snarkdown2(req.body) |
|
||||
| ReflectedXss.js:85:23:85:30 | req.body | ReflectedXss.js:85:12:85:31 | snarkdown2(req.body) |
|
||||
| ReflectedXss.js:97:12:97:19 | req.body | ReflectedXss.js:97:12:97:19 | req.body |
|
||||
| ReflectedXss.js:98:30:98:37 | req.body | ReflectedXss.js:98:12:98:38 | markdow ... q.body) |
|
||||
| ReflectedXss.js:98:30:98:37 | req.body | ReflectedXss.js:98:12:98:38 | markdow ... q.body) |
|
||||
| ReflectedXss.js:98:30:98:37 | req.body | ReflectedXss.js:98:12:98:38 | markdow ... q.body) |
|
||||
| ReflectedXss.js:98:30:98:37 | req.body | ReflectedXss.js:98:12:98:38 | markdow ... q.body) |
|
||||
| ReflectedXss.js:100:31:100:38 | req.body | ReflectedXss.js:100:12:100:39 | markdow ... q.body) |
|
||||
| ReflectedXss.js:100:31:100:38 | req.body | ReflectedXss.js:100:12:100:39 | markdow ... q.body) |
|
||||
| ReflectedXss.js:100:31:100:38 | req.body | ReflectedXss.js:100:12:100:39 | markdow ... q.body) |
|
||||
| ReflectedXss.js:100:31:100:38 | req.body | ReflectedXss.js:100:12:100:39 | markdow ... q.body) |
|
||||
| ReflectedXss.js:103:76:103:83 | req.body | ReflectedXss.js:103:12:103:84 | markdow ... q.body) |
|
||||
| ReflectedXss.js:103:76:103:83 | req.body | ReflectedXss.js:103:12:103:84 | markdow ... q.body) |
|
||||
| ReflectedXss.js:103:76:103:83 | req.body | ReflectedXss.js:103:12:103:84 | markdow ... q.body) |
|
||||
| ReflectedXss.js:103:76:103:83 | req.body | ReflectedXss.js:103:12:103:84 | markdow ... q.body) |
|
||||
| ReflectedXss.js:110:16:110:30 | request.query.p | ReflectedXss.js:110:16:110:30 | request.query.p |
|
||||
| ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id | ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id | ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id | ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id | ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id |
|
||||
| ReflectedXssGood3.js:68:22:68:26 | value | ReflectedXssGood3.js:77:16:77:20 | value |
|
||||
| ReflectedXssGood3.js:68:22:68:26 | value | ReflectedXssGood3.js:105:18:105:22 | value |
|
||||
| ReflectedXssGood3.js:77:7:77:37 | parts | ReflectedXssGood3.js:108:10:108:14 | parts |
|
||||
| ReflectedXssGood3.js:77:16:77:20 | value | ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) |
|
||||
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | ReflectedXssGood3.js:77:7:77:37 | parts |
|
||||
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | ReflectedXssGood3.js:108:10:108:23 | parts.join('') |
|
||||
| ReflectedXssGood3.js:105:7:105:11 | [post update] parts | ReflectedXssGood3.js:77:7:77:37 | parts |
|
||||
| ReflectedXssGood3.js:105:7:105:11 | [post update] parts | ReflectedXssGood3.js:108:10:108:23 | parts.join('') |
|
||||
| ReflectedXssGood3.js:105:18:105:22 | value | ReflectedXssGood3.js:105:18:105:38 | value.s ... g(j, i) |
|
||||
| ReflectedXssGood3.js:105:18:105:38 | value.s ... g(j, i) | ReflectedXssGood3.js:105:7:105:11 | [post update] parts |
|
||||
| ReflectedXssGood3.js:108:10:108:14 | parts | ReflectedXssGood3.js:108:10:108:23 | parts.join('') |
|
||||
| ReflectedXssGood3.js:135:9:135:27 | url | ReflectedXssGood3.js:139:24:139:26 | url |
|
||||
| ReflectedXssGood3.js:135:15:135:27 | req.params.id | ReflectedXssGood3.js:135:9:135:27 | url |
|
||||
| ReflectedXssGood3.js:135:15:135:27 | req.params.id | ReflectedXssGood3.js:135:9:135:27 | url |
|
||||
| ReflectedXssGood3.js:139:24:139:26 | url | ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) |
|
||||
| ReflectedXssGood3.js:139:24:139:26 | url | ReflectedXssGood3.js:68:22:68:26 | value |
|
||||
| ReflectedXssGood3.js:139:24:139:26 | url | ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) |
|
||||
| etherpad.js:9:5:9:53 | response | etherpad.js:11:12:11:19 | response |
|
||||
| etherpad.js:9:5:9:53 | response | etherpad.js:11:12:11:19 | response |
|
||||
| etherpad.js:9:16:9:30 | req.query.jsonp | etherpad.js:9:16:9:53 | req.que ... e + ")" |
|
||||
| etherpad.js:9:16:9:30 | req.query.jsonp | etherpad.js:9:16:9:53 | req.que ... e + ")" |
|
||||
| etherpad.js:9:16:9:53 | req.que ... e + ")" | etherpad.js:9:5:9:53 | response |
|
||||
| etherpad.js:9:16:9:30 | req.query.jsonp | etherpad.js:9:5:9:53 | response |
|
||||
| formatting.js:4:9:4:29 | evil | formatting.js:6:43:6:46 | evil |
|
||||
| formatting.js:4:9:4:29 | evil | formatting.js:7:49:7:52 | evil |
|
||||
| formatting.js:4:16:4:29 | req.query.evil | formatting.js:4:9:4:29 | evil |
|
||||
| formatting.js:4:16:4:29 | req.query.evil | formatting.js:4:9:4:29 | evil |
|
||||
| formatting.js:6:43:6:46 | evil | formatting.js:6:14:6:47 | util.fo ... , evil) |
|
||||
| formatting.js:6:43:6:46 | evil | formatting.js:6:14:6:47 | util.fo ... , evil) |
|
||||
| formatting.js:7:49:7:52 | evil | formatting.js:7:14:7:53 | require ... , evil) |
|
||||
| formatting.js:7:49:7:52 | evil | formatting.js:7:14:7:53 | require ... , evil) |
|
||||
| live-server.js:4:11:4:27 | tainted | live-server.js:6:28:6:34 | tainted |
|
||||
| live-server.js:4:21:4:27 | req.url | live-server.js:4:11:4:27 | tainted |
|
||||
| live-server.js:4:21:4:27 | req.url | live-server.js:4:11:4:27 | tainted |
|
||||
| live-server.js:6:28:6:34 | tainted | live-server.js:6:13:6:50 | `<html> ... /html>` |
|
||||
| live-server.js:6:28:6:34 | tainted | live-server.js:6:13:6:50 | `<html> ... /html>` |
|
||||
| live-server.js:10:11:10:27 | tainted | live-server.js:12:28:12:34 | tainted |
|
||||
| live-server.js:10:21:10:27 | req.url | live-server.js:10:11:10:27 | tainted |
|
||||
| live-server.js:10:21:10:27 | req.url | live-server.js:10:11:10:27 | tainted |
|
||||
| live-server.js:12:28:12:34 | tainted | live-server.js:12:13:12:50 | `<html> ... /html>` |
|
||||
| live-server.js:12:28:12:34 | tainted | live-server.js:12:13:12:50 | `<html> ... /html>` |
|
||||
| pages/Next.jsx:8:13:8:19 | req.url | pages/Next.jsx:8:13:8:19 | req.url |
|
||||
| pages/Next.jsx:15:13:15:19 | req.url | pages/Next.jsx:15:13:15:19 | req.url |
|
||||
| pages/api/myapi.js:2:14:2:20 | req.url | pages/api/myapi.js:2:14:2:20 | req.url |
|
||||
| partial.js:9:25:9:25 | x | partial.js:10:14:10:14 | x |
|
||||
| partial.js:10:14:10:14 | x | partial.js:10:14:10:18 | x + y |
|
||||
| partial.js:10:14:10:14 | x | partial.js:10:14:10:18 | x + y |
|
||||
| partial.js:13:42:13:48 | req.url | partial.js:9:25:9:25 | x |
|
||||
| partial.js:13:42:13:48 | req.url | partial.js:9:25:9:25 | x |
|
||||
| partial.js:18:25:18:25 | x | partial.js:19:14:19:14 | x |
|
||||
| partial.js:19:14:19:14 | x | partial.js:19:14:19:18 | x + y |
|
||||
| partial.js:19:14:19:14 | x | partial.js:19:14:19:18 | x + y |
|
||||
| partial.js:22:51:22:57 | req.url | partial.js:18:25:18:25 | x |
|
||||
| partial.js:22:51:22:57 | req.url | partial.js:18:25:18:25 | x |
|
||||
| partial.js:27:25:27:25 | x | partial.js:28:14:28:14 | x |
|
||||
| partial.js:28:14:28:14 | x | partial.js:28:14:28:18 | x + y |
|
||||
| partial.js:28:14:28:14 | x | partial.js:28:14:28:18 | x + y |
|
||||
| partial.js:31:47:31:53 | req.url | partial.js:27:25:27:25 | x |
|
||||
| partial.js:31:47:31:53 | req.url | partial.js:27:25:27:25 | x |
|
||||
| partial.js:36:25:36:25 | x | partial.js:37:14:37:14 | x |
|
||||
| partial.js:37:14:37:14 | x | partial.js:37:14:37:18 | x + y |
|
||||
| partial.js:37:14:37:14 | x | partial.js:37:14:37:18 | x + y |
|
||||
| partial.js:40:43:40:49 | req.url | partial.js:36:25:36:25 | x |
|
||||
| partial.js:40:43:40:49 | req.url | partial.js:36:25:36:25 | x |
|
||||
| promises.js:5:3:5:59 | new Pro ... .data)) | promises.js:6:11:6:11 | x |
|
||||
| promises.js:5:44:5:57 | req.query.data | promises.js:5:3:5:59 | new Pro ... .data)) |
|
||||
| promises.js:5:44:5:57 | req.query.data | promises.js:5:3:5:59 | new Pro ... .data)) |
|
||||
| promises.js:5:44:5:57 | req.query.data | promises.js:6:11:6:11 | x |
|
||||
| promises.js:5:44:5:57 | req.query.data | promises.js:6:11:6:11 | x |
|
||||
| promises.js:6:11:6:11 | x | promises.js:6:25:6:25 | x |
|
||||
| promises.js:5:3:5:59 | new Pro ... .data)) [PromiseValue] | promises.js:6:11:6:11 | x |
|
||||
| promises.js:5:36:5:42 | [post update] resolve [resolve-value] | promises.js:5:3:5:59 | new Pro ... .data)) [PromiseValue] |
|
||||
| promises.js:5:44:5:57 | req.query.data | promises.js:5:36:5:42 | [post update] resolve [resolve-value] |
|
||||
| promises.js:6:11:6:11 | x | promises.js:6:25:6:25 | x |
|
||||
| tst2.js:6:7:6:30 | p | tst2.js:7:12:7:12 | p |
|
||||
| tst2.js:6:7:6:30 | p | tst2.js:7:12:7:12 | p |
|
||||
| tst2.js:6:7:6:30 | r | tst2.js:8:12:8:12 | r |
|
||||
| tst2.js:6:7:6:30 | r | tst2.js:8:12:8:12 | r |
|
||||
| tst2.js:6:9:6:9 | p | tst2.js:6:7:6:30 | p |
|
||||
| tst2.js:6:9:6:9 | p | tst2.js:6:7:6:30 | p |
|
||||
| tst2.js:6:12:6:15 | q: r | tst2.js:6:7:6:30 | r |
|
||||
| tst2.js:6:12:6:15 | q: r | tst2.js:6:7:6:30 | r |
|
||||
| tst2.js:14:7:14:24 | p | tst2.js:18:12:18:12 | p |
|
||||
| tst2.js:14:7:14:24 | p | tst2.js:18:12:18:12 | p |
|
||||
| tst2.js:14:7:14:24 | p | tst2.js:21:14:21:14 | p |
|
||||
| tst2.js:14:7:14:24 | p | tst2.js:21:14:21:14 | p |
|
||||
| tst2.js:14:9:14:9 | p | tst2.js:14:7:14:24 | p |
|
||||
| tst2.js:14:9:14:9 | p | tst2.js:14:7:14:24 | p |
|
||||
| tst2.js:30:7:30:24 | p | tst2.js:33:11:33:11 | p |
|
||||
| tst2.js:30:7:30:24 | p | tst2.js:36:12:36:12 | p |
|
||||
| tst2.js:30:7:30:24 | p | tst2.js:36:12:36:12 | p |
|
||||
| tst2.js:30:9:30:9 | p | tst2.js:30:7:30:24 | p |
|
||||
| tst2.js:30:9:30:9 | p | tst2.js:30:7:30:24 | p |
|
||||
| tst2.js:33:11:33:11 | p | tst2.js:37:12:37:18 | other.p |
|
||||
| tst2.js:33:11:33:11 | p | tst2.js:37:12:37:18 | other.p |
|
||||
| tst2.js:32:7:32:14 | obj [p] | tst2.js:34:21:34:23 | obj [p] |
|
||||
| tst2.js:33:3:33:5 | [post update] obj [p] | tst2.js:32:7:32:14 | obj [p] |
|
||||
| tst2.js:33:11:33:11 | p | tst2.js:33:3:33:5 | [post update] obj [p] |
|
||||
| tst2.js:34:7:34:24 | other [p] | tst2.js:37:12:37:16 | other [p] |
|
||||
| tst2.js:34:15:34:24 | clone(obj) [p] | tst2.js:34:7:34:24 | other [p] |
|
||||
| tst2.js:34:21:34:23 | obj [p] | tst2.js:34:15:34:24 | clone(obj) [p] |
|
||||
| tst2.js:37:12:37:16 | other [p] | tst2.js:37:12:37:18 | other.p |
|
||||
| tst2.js:43:7:43:24 | p | tst2.js:49:36:49:36 | p |
|
||||
| tst2.js:43:9:43:9 | p | tst2.js:43:7:43:24 | p |
|
||||
| tst2.js:43:9:43:9 | p | tst2.js:43:7:43:24 | p |
|
||||
| tst2.js:49:7:49:53 | unsafe | tst2.js:51:12:51:17 | unsafe |
|
||||
| tst2.js:49:7:49:53 | unsafe | tst2.js:51:12:51:17 | unsafe |
|
||||
| tst2.js:49:16:49:53 | seriali ... true}) | tst2.js:49:7:49:53 | unsafe |
|
||||
| tst2.js:49:36:49:36 | p | tst2.js:49:16:49:53 | seriali ... true}) |
|
||||
| tst2.js:57:7:57:24 | p | tst2.js:60:11:60:11 | p |
|
||||
| tst2.js:57:7:57:24 | p | tst2.js:63:12:63:12 | p |
|
||||
| tst2.js:57:7:57:24 | p | tst2.js:63:12:63:12 | p |
|
||||
| tst2.js:57:9:57:9 | p | tst2.js:57:7:57:24 | p |
|
||||
| tst2.js:57:9:57:9 | p | tst2.js:57:7:57:24 | p |
|
||||
| tst2.js:60:11:60:11 | p | tst2.js:64:12:64:18 | other.p |
|
||||
| tst2.js:60:11:60:11 | p | tst2.js:64:12:64:18 | other.p |
|
||||
| tst2.js:59:7:59:14 | obj [p] | tst2.js:61:22:61:24 | obj [p] |
|
||||
| tst2.js:60:3:60:5 | [post update] obj [p] | tst2.js:59:7:59:14 | obj [p] |
|
||||
| tst2.js:60:11:60:11 | p | tst2.js:60:3:60:5 | [post update] obj [p] |
|
||||
| tst2.js:61:7:61:25 | other [p] | tst2.js:64:12:64:16 | other [p] |
|
||||
| tst2.js:61:15:61:25 | fclone(obj) [p] | tst2.js:61:7:61:25 | other [p] |
|
||||
| tst2.js:61:22:61:24 | obj [p] | tst2.js:61:15:61:25 | fclone(obj) [p] |
|
||||
| tst2.js:64:12:64:16 | other [p] | tst2.js:64:12:64:18 | other.p |
|
||||
| tst2.js:69:7:69:24 | p | tst2.js:72:11:72:11 | p |
|
||||
| tst2.js:69:7:69:24 | p | tst2.js:75:12:75:12 | p |
|
||||
| tst2.js:69:7:69:24 | p | tst2.js:75:12:75:12 | p |
|
||||
| tst2.js:69:9:69:9 | p | tst2.js:69:7:69:24 | p |
|
||||
| tst2.js:69:9:69:9 | p | tst2.js:69:7:69:24 | p |
|
||||
| tst2.js:72:11:72:11 | p | tst2.js:76:12:76:18 | other.p |
|
||||
| tst2.js:72:11:72:11 | p | tst2.js:76:12:76:18 | other.p |
|
||||
| tst2.js:71:7:71:14 | obj [p] | tst2.js:73:40:73:42 | obj [p] |
|
||||
| tst2.js:72:3:72:5 | [post update] obj [p] | tst2.js:71:7:71:14 | obj [p] |
|
||||
| tst2.js:72:11:72:11 | p | tst2.js:72:3:72:5 | [post update] obj [p] |
|
||||
| tst2.js:73:7:73:44 | other [p] | tst2.js:76:12:76:16 | other [p] |
|
||||
| tst2.js:73:15:73:44 | jc.retr ... e(obj)) [p] | tst2.js:73:7:73:44 | other [p] |
|
||||
| tst2.js:73:29:73:43 | jc.decycle(obj) [p] | tst2.js:73:15:73:44 | jc.retr ... e(obj)) [p] |
|
||||
| tst2.js:73:40:73:42 | obj [p] | tst2.js:73:29:73:43 | jc.decycle(obj) [p] |
|
||||
| tst2.js:76:12:76:16 | other [p] | tst2.js:76:12:76:18 | other.p |
|
||||
| tst2.js:82:7:82:24 | p | tst2.js:85:11:85:11 | p |
|
||||
| tst2.js:82:7:82:24 | p | tst2.js:88:12:88:12 | p |
|
||||
| tst2.js:82:7:82:24 | p | tst2.js:88:12:88:12 | p |
|
||||
| tst2.js:82:9:82:9 | p | tst2.js:82:7:82:24 | p |
|
||||
| tst2.js:82:9:82:9 | p | tst2.js:82:7:82:24 | p |
|
||||
| tst2.js:85:11:85:11 | p | tst2.js:89:12:89:18 | other.p |
|
||||
| tst2.js:85:11:85:11 | p | tst2.js:89:12:89:18 | other.p |
|
||||
| tst3.js:5:7:5:24 | p | tst3.js:6:12:6:12 | p |
|
||||
| tst2.js:84:7:84:14 | obj [p] | tst2.js:86:24:86:26 | obj [p] |
|
||||
| tst2.js:85:3:85:5 | [post update] obj [p] | tst2.js:84:7:84:14 | obj [p] |
|
||||
| tst2.js:85:11:85:11 | p | tst2.js:85:3:85:5 | [post update] obj [p] |
|
||||
| tst2.js:86:7:86:27 | other [p] | tst2.js:89:12:89:16 | other [p] |
|
||||
| tst2.js:86:15:86:27 | sortKeys(obj) [p] | tst2.js:86:7:86:27 | other [p] |
|
||||
| tst2.js:86:24:86:26 | obj [p] | tst2.js:86:15:86:27 | sortKeys(obj) [p] |
|
||||
| tst2.js:89:12:89:16 | other [p] | tst2.js:89:12:89:18 | other.p |
|
||||
| tst3.js:5:7:5:24 | p | tst3.js:6:12:6:12 | p |
|
||||
| tst3.js:5:9:5:9 | p | tst3.js:5:7:5:24 | p |
|
||||
| tst3.js:5:9:5:9 | p | tst3.js:5:7:5:24 | p |
|
||||
| tst3.js:11:9:11:74 | code | tst3.js:12:12:12:15 | code |
|
||||
| tst3.js:11:9:11:74 | code | tst3.js:12:12:12:15 | code |
|
||||
| tst3.js:11:16:11:74 | prettie ... bel" }) | tst3.js:11:9:11:74 | code |
|
||||
| tst3.js:11:32:11:39 | reg.body | tst3.js:11:16:11:74 | prettie ... bel" }) |
|
||||
| tst3.js:11:32:11:39 | reg.body | tst3.js:11:16:11:74 | prettie ... bel" }) |
|
||||
nodes
|
||||
| ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id | semmle.label | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:8:33:8:45 | req.params.id | semmle.label | req.params.id |
|
||||
| ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id | semmle.label | "Unknow ... rams.id |
|
||||
| ReflectedXss.js:17:31:17:39 | params.id | semmle.label | params.id |
|
||||
| ReflectedXss.js:22:12:22:19 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:23:12:23:27 | marked(req.body) | semmle.label | marked(req.body) |
|
||||
| ReflectedXss.js:23:19:23:26 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:29:12:29:19 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:30:7:33:4 | mytable | semmle.label | mytable |
|
||||
| ReflectedXss.js:30:17:33:4 | table([ ... y]\\n ]) | semmle.label | table([ ... y]\\n ]) |
|
||||
| ReflectedXss.js:32:14:32:21 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:34:12:34:18 | mytable | semmle.label | mytable |
|
||||
| ReflectedXss.js:41:12:41:19 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:42:12:42:39 | convert ... q.body) | semmle.label | convert ... q.body) |
|
||||
| ReflectedXss.js:42:31:42:38 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:56:12:56:19 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:64:14:64:21 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:64:39:64:42 | file | semmle.label | file |
|
||||
| ReflectedXss.js:65:16:65:19 | file | semmle.label | file |
|
||||
| ReflectedXss.js:68:12:68:41 | remark( ... q.body) | semmle.label | remark( ... q.body) |
|
||||
| ReflectedXss.js:68:12:68:52 | remark( ... tring() | semmle.label | remark( ... tring() |
|
||||
| ReflectedXss.js:68:33:68:40 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:72:12:72:56 | unified ... q.body) | semmle.label | unified ... q.body) |
|
||||
| ReflectedXss.js:72:12:72:65 | unified ... oString | semmle.label | unified ... oString |
|
||||
| ReflectedXss.js:72:48:72:55 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:74:20:74:27 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:74:34:74:34 | f | semmle.label | f |
|
||||
| ReflectedXss.js:75:14:75:14 | f | semmle.label | f |
|
||||
| ReflectedXss.js:83:12:83:19 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:84:12:84:30 | snarkdown(req.body) | semmle.label | snarkdown(req.body) |
|
||||
| ReflectedXss.js:84:22:84:29 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:85:12:85:31 | snarkdown2(req.body) | semmle.label | snarkdown2(req.body) |
|
||||
| ReflectedXss.js:85:23:85:30 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:97:12:97:19 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:98:12:98:38 | markdow ... q.body) | semmle.label | markdow ... q.body) |
|
||||
| ReflectedXss.js:98:30:98:37 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:100:12:100:39 | markdow ... q.body) | semmle.label | markdow ... q.body) |
|
||||
| ReflectedXss.js:100:31:100:38 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:103:12:103:84 | markdow ... q.body) | semmle.label | markdow ... q.body) |
|
||||
| ReflectedXss.js:103:76:103:83 | req.body | semmle.label | req.body |
|
||||
| ReflectedXss.js:110:16:110:30 | request.query.p | semmle.label | request.query.p |
|
||||
| ReflectedXssContentTypes.js:10:14:10:36 | "FOO: " ... rams.id | semmle.label | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:10:24:10:36 | req.params.id | semmle.label | req.params.id |
|
||||
| ReflectedXssContentTypes.js:20:14:20:36 | "FOO: " ... rams.id | semmle.label | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:20:24:20:36 | req.params.id | semmle.label | req.params.id |
|
||||
| ReflectedXssContentTypes.js:39:13:39:35 | "FOO: " ... rams.id | semmle.label | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:39:23:39:35 | req.params.id | semmle.label | req.params.id |
|
||||
| ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id | semmle.label | "FOO: " ... rams.id |
|
||||
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id | semmle.label | req.params.id |
|
||||
| ReflectedXssGood3.js:68:22:68:26 | value | semmle.label | value |
|
||||
| ReflectedXssGood3.js:77:7:77:37 | parts | semmle.label | parts |
|
||||
| ReflectedXssGood3.js:77:16:77:20 | value | semmle.label | value |
|
||||
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | semmle.label | value.s ... g(0, i) |
|
||||
| ReflectedXssGood3.js:105:7:105:11 | [post update] parts | semmle.label | [post update] parts |
|
||||
| ReflectedXssGood3.js:105:18:105:22 | value | semmle.label | value |
|
||||
| ReflectedXssGood3.js:105:18:105:38 | value.s ... g(j, i) | semmle.label | value.s ... g(j, i) |
|
||||
| ReflectedXssGood3.js:108:10:108:14 | parts | semmle.label | parts |
|
||||
| ReflectedXssGood3.js:108:10:108:23 | parts.join('') | semmle.label | parts.join('') |
|
||||
| ReflectedXssGood3.js:135:9:135:27 | url | semmle.label | url |
|
||||
| ReflectedXssGood3.js:135:15:135:27 | req.params.id | semmle.label | req.params.id |
|
||||
| ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) | semmle.label | escapeHtml3(url) |
|
||||
| ReflectedXssGood3.js:139:24:139:26 | url | semmle.label | url |
|
||||
| etherpad.js:9:5:9:53 | response | semmle.label | response |
|
||||
| etherpad.js:9:16:9:30 | req.query.jsonp | semmle.label | req.query.jsonp |
|
||||
| etherpad.js:11:12:11:19 | response | semmle.label | response |
|
||||
| formatting.js:4:9:4:29 | evil | semmle.label | evil |
|
||||
| formatting.js:4:16:4:29 | req.query.evil | semmle.label | req.query.evil |
|
||||
| formatting.js:6:14:6:47 | util.fo ... , evil) | semmle.label | util.fo ... , evil) |
|
||||
| formatting.js:6:43:6:46 | evil | semmle.label | evil |
|
||||
| formatting.js:7:14:7:53 | require ... , evil) | semmle.label | require ... , evil) |
|
||||
| formatting.js:7:49:7:52 | evil | semmle.label | evil |
|
||||
| live-server.js:4:11:4:27 | tainted | semmle.label | tainted |
|
||||
| live-server.js:4:21:4:27 | req.url | semmle.label | req.url |
|
||||
| live-server.js:6:13:6:50 | `<html> ... /html>` | semmle.label | `<html> ... /html>` |
|
||||
| live-server.js:6:28:6:34 | tainted | semmle.label | tainted |
|
||||
| live-server.js:10:11:10:27 | tainted | semmle.label | tainted |
|
||||
| live-server.js:10:21:10:27 | req.url | semmle.label | req.url |
|
||||
| live-server.js:12:13:12:50 | `<html> ... /html>` | semmle.label | `<html> ... /html>` |
|
||||
| live-server.js:12:28:12:34 | tainted | semmle.label | tainted |
|
||||
| pages/Next.jsx:8:13:8:19 | req.url | semmle.label | req.url |
|
||||
| pages/Next.jsx:15:13:15:19 | req.url | semmle.label | req.url |
|
||||
| pages/api/myapi.js:2:14:2:20 | req.url | semmle.label | req.url |
|
||||
| partial.js:9:25:9:25 | x | semmle.label | x |
|
||||
| partial.js:10:14:10:14 | x | semmle.label | x |
|
||||
| partial.js:10:14:10:18 | x + y | semmle.label | x + y |
|
||||
| partial.js:13:42:13:48 | req.url | semmle.label | req.url |
|
||||
| partial.js:18:25:18:25 | x | semmle.label | x |
|
||||
| partial.js:19:14:19:14 | x | semmle.label | x |
|
||||
| partial.js:19:14:19:18 | x + y | semmle.label | x + y |
|
||||
| partial.js:22:51:22:57 | req.url | semmle.label | req.url |
|
||||
| partial.js:27:25:27:25 | x | semmle.label | x |
|
||||
| partial.js:28:14:28:14 | x | semmle.label | x |
|
||||
| partial.js:28:14:28:18 | x + y | semmle.label | x + y |
|
||||
| partial.js:31:47:31:53 | req.url | semmle.label | req.url |
|
||||
| partial.js:36:25:36:25 | x | semmle.label | x |
|
||||
| partial.js:37:14:37:14 | x | semmle.label | x |
|
||||
| partial.js:37:14:37:18 | x + y | semmle.label | x + y |
|
||||
| partial.js:40:43:40:49 | req.url | semmle.label | req.url |
|
||||
| promises.js:5:3:5:59 | new Pro ... .data)) [PromiseValue] | semmle.label | new Pro ... .data)) [PromiseValue] |
|
||||
| promises.js:5:36:5:42 | [post update] resolve [resolve-value] | semmle.label | [post update] resolve [resolve-value] |
|
||||
| promises.js:5:44:5:57 | req.query.data | semmle.label | req.query.data |
|
||||
| promises.js:6:11:6:11 | x | semmle.label | x |
|
||||
| promises.js:6:25:6:25 | x | semmle.label | x |
|
||||
| tst2.js:6:7:6:30 | p | semmle.label | p |
|
||||
| tst2.js:6:7:6:30 | r | semmle.label | r |
|
||||
| tst2.js:6:9:6:9 | p | semmle.label | p |
|
||||
| tst2.js:6:12:6:15 | q: r | semmle.label | q: r |
|
||||
| tst2.js:7:12:7:12 | p | semmle.label | p |
|
||||
| tst2.js:8:12:8:12 | r | semmle.label | r |
|
||||
| tst2.js:14:7:14:24 | p | semmle.label | p |
|
||||
| tst2.js:14:9:14:9 | p | semmle.label | p |
|
||||
| tst2.js:18:12:18:12 | p | semmle.label | p |
|
||||
| tst2.js:21:14:21:14 | p | semmle.label | p |
|
||||
| tst2.js:30:7:30:24 | p | semmle.label | p |
|
||||
| tst2.js:30:9:30:9 | p | semmle.label | p |
|
||||
| tst2.js:32:7:32:14 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:33:3:33:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
|
||||
| tst2.js:33:11:33:11 | p | semmle.label | p |
|
||||
| tst2.js:34:7:34:24 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:34:15:34:24 | clone(obj) [p] | semmle.label | clone(obj) [p] |
|
||||
| tst2.js:34:21:34:23 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:36:12:36:12 | p | semmle.label | p |
|
||||
| tst2.js:37:12:37:16 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:37:12:37:18 | other.p | semmle.label | other.p |
|
||||
| tst2.js:43:7:43:24 | p | semmle.label | p |
|
||||
| tst2.js:43:9:43:9 | p | semmle.label | p |
|
||||
| tst2.js:49:7:49:53 | unsafe | semmle.label | unsafe |
|
||||
| tst2.js:49:16:49:53 | seriali ... true}) | semmle.label | seriali ... true}) |
|
||||
| tst2.js:49:36:49:36 | p | semmle.label | p |
|
||||
| tst2.js:51:12:51:17 | unsafe | semmle.label | unsafe |
|
||||
| tst2.js:57:7:57:24 | p | semmle.label | p |
|
||||
| tst2.js:57:9:57:9 | p | semmle.label | p |
|
||||
| tst2.js:59:7:59:14 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:60:3:60:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
|
||||
| tst2.js:60:11:60:11 | p | semmle.label | p |
|
||||
| tst2.js:61:7:61:25 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:61:15:61:25 | fclone(obj) [p] | semmle.label | fclone(obj) [p] |
|
||||
| tst2.js:61:22:61:24 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:63:12:63:12 | p | semmle.label | p |
|
||||
| tst2.js:64:12:64:16 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:64:12:64:18 | other.p | semmle.label | other.p |
|
||||
| tst2.js:69:7:69:24 | p | semmle.label | p |
|
||||
| tst2.js:69:9:69:9 | p | semmle.label | p |
|
||||
| tst2.js:71:7:71:14 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:72:3:72:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
|
||||
| tst2.js:72:11:72:11 | p | semmle.label | p |
|
||||
| tst2.js:73:7:73:44 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:73:15:73:44 | jc.retr ... e(obj)) [p] | semmle.label | jc.retr ... e(obj)) [p] |
|
||||
| tst2.js:73:29:73:43 | jc.decycle(obj) [p] | semmle.label | jc.decycle(obj) [p] |
|
||||
| tst2.js:73:40:73:42 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:75:12:75:12 | p | semmle.label | p |
|
||||
| tst2.js:76:12:76:16 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:76:12:76:18 | other.p | semmle.label | other.p |
|
||||
| tst2.js:82:7:82:24 | p | semmle.label | p |
|
||||
| tst2.js:82:9:82:9 | p | semmle.label | p |
|
||||
| tst2.js:84:7:84:14 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:85:3:85:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
|
||||
| tst2.js:85:11:85:11 | p | semmle.label | p |
|
||||
| tst2.js:86:7:86:27 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:86:15:86:27 | sortKeys(obj) [p] | semmle.label | sortKeys(obj) [p] |
|
||||
| tst2.js:86:24:86:26 | obj [p] | semmle.label | obj [p] |
|
||||
| tst2.js:88:12:88:12 | p | semmle.label | p |
|
||||
| tst2.js:89:12:89:16 | other [p] | semmle.label | other [p] |
|
||||
| tst2.js:89:12:89:18 | other.p | semmle.label | other.p |
|
||||
| tst3.js:5:7:5:24 | p | semmle.label | p |
|
||||
| tst3.js:5:9:5:9 | p | semmle.label | p |
|
||||
| tst3.js:6:12:6:12 | p | semmle.label | p |
|
||||
| tst3.js:11:9:11:74 | code | semmle.label | code |
|
||||
| tst3.js:11:16:11:74 | prettie ... bel" }) | semmle.label | prettie ... bel" }) |
|
||||
| tst3.js:11:32:11:39 | reg.body | semmle.label | reg.body |
|
||||
| tst3.js:12:12:12:15 | code | semmle.label | code |
|
||||
subpaths
|
||||
| ReflectedXssGood3.js:139:24:139:26 | url | ReflectedXssGood3.js:68:22:68:26 | value | ReflectedXssGood3.js:108:10:108:23 | parts.join('') | ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) |
|
||||
#select
|
||||
| ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id | ReflectedXss.js:8:33:8:45 | req.params.id | ReflectedXss.js:8:14:8:45 | "Unknow ... rams.id | Cross-site scripting vulnerability due to a $@. | ReflectedXss.js:8:33:8:45 | req.params.id | user-provided value |
|
||||
| ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id | ReflectedXss.js:17:31:17:39 | params.id | ReflectedXss.js:17:12:17:39 | "Unknow ... rams.id | Cross-site scripting vulnerability due to a $@. | ReflectedXss.js:17:31:17:39 | params.id | user-provided value |
|
||||
|
||||
Reference in New Issue
Block a user