Skip to content

Commit 1f2618b

Browse files
author
luciaromeroML
committed
new test case for unknown base url
1 parent f348a5c commit 1f2618b

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

javascript/ql/test/experimental/Security/CWE-918/SSRF.expected

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ nodes
3737
| check-path.js:37:15:37:45 | 'test.c ... tainted |
3838
| check-path.js:37:29:37:45 | req.query.tainted |
3939
| check-path.js:37:29:37:45 | req.query.tainted |
40+
| check-path.js:45:13:45:44 | `${base ... inted}` |
41+
| check-path.js:45:13:45:44 | `${base ... inted}` |
42+
| check-path.js:45:26:45:42 | req.query.tainted |
43+
| check-path.js:45:26:45:42 | req.query.tainted |
4044
| check-regex.js:24:15:24:42 | baseURL ... tainted |
4145
| check-regex.js:24:15:24:42 | baseURL ... tainted |
4246
| check-regex.js:24:25:24:42 | req.params.tainted |
@@ -113,6 +117,10 @@ edges
113117
| check-path.js:37:29:37:45 | req.query.tainted | check-path.js:37:15:37:45 | 'test.c ... tainted |
114118
| check-path.js:37:29:37:45 | req.query.tainted | check-path.js:37:15:37:45 | 'test.c ... tainted |
115119
| check-path.js:37:29:37:45 | req.query.tainted | check-path.js:37:15:37:45 | 'test.c ... tainted |
120+
| check-path.js:45:26:45:42 | req.query.tainted | check-path.js:45:13:45:44 | `${base ... inted}` |
121+
| check-path.js:45:26:45:42 | req.query.tainted | check-path.js:45:13:45:44 | `${base ... inted}` |
122+
| check-path.js:45:26:45:42 | req.query.tainted | check-path.js:45:13:45:44 | `${base ... inted}` |
123+
| check-path.js:45:26:45:42 | req.query.tainted | check-path.js:45:13:45:44 | `${base ... inted}` |
116124
| check-regex.js:24:25:24:42 | req.params.tainted | check-regex.js:24:15:24:42 | baseURL ... tainted |
117125
| check-regex.js:24:25:24:42 | req.params.tainted | check-regex.js:24:15:24:42 | baseURL ... tainted |
118126
| check-regex.js:24:25:24:42 | req.params.tainted | check-regex.js:24:15:24:42 | baseURL ... tainted |
@@ -164,6 +172,7 @@ edges
164172
| check-path.js:24:13:24:65 | `/addre ... nted)}` | check-path.js:24:46:24:62 | req.query.tainted | check-path.js:24:13:24:65 | `/addre ... nted)}` | The URL of this request depends on a user-provided value |
165173
| check-path.js:33:15:33:45 | 'test.c ... tainted | check-path.js:33:29:33:45 | req.query.tainted | check-path.js:33:15:33:45 | 'test.c ... tainted | The URL of this request depends on a user-provided value |
166174
| check-path.js:37:15:37:45 | 'test.c ... tainted | check-path.js:37:29:37:45 | req.query.tainted | check-path.js:37:15:37:45 | 'test.c ... tainted | The URL of this request depends on a user-provided value |
175+
| check-path.js:45:13:45:44 | `${base ... inted}` | check-path.js:45:26:45:42 | req.query.tainted | check-path.js:45:13:45:44 | `${base ... inted}` | The URL of this request depends on a user-provided value |
167176
| check-regex.js:24:15:24:42 | baseURL ... tainted | check-regex.js:24:25:24:42 | req.params.tainted | check-regex.js:24:15:24:42 | baseURL ... tainted | The URL of this request depends on a user-provided value |
168177
| check-regex.js:31:15:31:45 | "test.c ... tainted | check-regex.js:31:29:31:45 | req.query.tainted | check-regex.js:31:15:31:45 | "test.c ... tainted | The URL of this request depends on a user-provided value |
169178
| check-regex.js:34:15:34:42 | baseURL ... tainted | check-regex.js:34:25:34:42 | req.params.tainted | check-regex.js:34:15:34:42 | baseURL ... tainted | The URL of this request depends on a user-provided value |

javascript/ql/test/experimental/Security/CWE-918/check-path.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ app.get('/check-with-axios', req => {
4141
axios.get('test.com/' + req.query.tainted) // OK
4242
}
4343

44+
let baseURL = require('config').base
45+
axios.get(`${baseURL}${req.query.tainted}`); // SSRF
46+
4447
if(!isValidInput(req.query.tainted)) {
4548
return;
4649
}

0 commit comments

Comments
 (0)