use MemberShipTest in TaintedPath

This commit is contained in:
Erik Krogh Kristensen
2020-06-04 10:51:08 +02:00
parent d513e6c5b5
commit 550c578c3c
4 changed files with 27 additions and 102 deletions

View File

@@ -211,40 +211,6 @@ nodes
| TaintedPath.js:24:33:24:36 | path |
| TaintedPath.js:24:33:24:36 | path |
| TaintedPath.js:24:33:24:36 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:33:31:33:34 | path |
| TaintedPath.js:33:31:33:34 | path |
| TaintedPath.js:33:31:33:34 | path |
@@ -2968,70 +2934,6 @@ edges
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:24:33:24:36 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:24:33:24:36 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:24:33:24:36 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:27:31:27:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:30:31:30:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:33:31:33:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:33:31:33:34 | path |
| TaintedPath.js:9:7:9:48 | path | TaintedPath.js:33:31:33:34 | path |
@@ -6671,8 +6573,6 @@ edges
| TaintedPath.js:18:33:18:36 | path | TaintedPath.js:9:24:9:30 | req.url | TaintedPath.js:18:33:18:36 | path | This path depends on $@. | TaintedPath.js:9:24:9:30 | req.url | a user-provided value |
| TaintedPath.js:21:33:21:36 | path | TaintedPath.js:9:24:9:30 | req.url | TaintedPath.js:21:33:21:36 | path | This path depends on $@. | TaintedPath.js:9:24:9:30 | req.url | a user-provided value |
| TaintedPath.js:24:33:24:36 | path | TaintedPath.js:9:24:9:30 | req.url | TaintedPath.js:24:33:24:36 | path | This path depends on $@. | TaintedPath.js:9:24:9:30 | req.url | a user-provided value |
| TaintedPath.js:27:31:27:34 | path | TaintedPath.js:9:24:9:30 | req.url | TaintedPath.js:27:31:27:34 | path | This path depends on $@. | TaintedPath.js:9:24:9:30 | req.url | a user-provided value |
| TaintedPath.js:30:31:30:34 | path | TaintedPath.js:9:24:9:30 | req.url | TaintedPath.js:30:31:30:34 | path | This path depends on $@. | TaintedPath.js:9:24:9:30 | req.url | a user-provided value |
| TaintedPath.js:33:31:33:34 | path | TaintedPath.js:9:24:9:30 | req.url | TaintedPath.js:33:31:33:34 | path | This path depends on $@. | TaintedPath.js:9:24:9:30 | req.url | a user-provided value |
| TaintedPath.js:42:29:42:52 | pathMod ... e(path) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:42:29:42:52 | pathMod ... e(path) | This path depends on $@. | TaintedPath.js:38:20:38:26 | req.url | a user-provided value |
| TaintedPath.js:46:29:46:49 | pathMod ... n(path) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:46:29:46:49 | pathMod ... n(path) | This path depends on $@. | TaintedPath.js:38:20:38:26 | req.url | a user-provided value |

View File

@@ -24,10 +24,10 @@ var server = http.createServer(function(req, res) {
res.write(fs.readFileSync(path)); // BAD: Insufficient sanitisation
if (path === 'foo.txt')
res.write(fs.readFileSync(path)); // GOOD: Path is compared to white-list [INCONSISTENCY]
res.write(fs.readFileSync(path)); // GOOD: Path is compared to white-list
if (path === 'foo.txt' || path === 'bar.txt')
res.write(fs.readFileSync(path)); // GOOD: Path is compared to white-list [INCONSISTENCY]
res.write(fs.readFileSync(path)); // GOOD: Path is compared to white-list
if (path === 'foo.txt' || path === 'bar.txt' || someOpaqueCondition())
res.write(fs.readFileSync(path)); // BAD: Path is incompletely compared to white-list