File tree Expand file tree Collapse file tree 2 files changed +2
-6
lines changed
java/ql/test/query-tests/security/CWE-079/semmle/tests Expand file tree Collapse file tree 2 files changed +2
-6
lines changed Original file line number Diff line number Diff line change 1
1
edges
2
2
| XSS.java:23:21:23:48 | getParameter(...) : String | XSS.java:23:5:23:70 | ... + ... |
3
- | XSS.java:27:21:27:48 | getParameter(...) : String | XSS.java:27:5:27:70 | ... + ... |
4
3
| XSS.java:38:67:38:87 | getPathInfo(...) : String | XSS.java:38:30:38:87 | ... + ... |
5
4
| XSS.java:41:36:41:56 | getPathInfo(...) : String | XSS.java:41:36:41:67 | getBytes(...) |
6
5
nodes
7
6
| XSS.java:23:5:23:70 | ... + ... | semmle.label | ... + ... |
8
7
| XSS.java:23:21:23:48 | getParameter(...) : String | semmle.label | getParameter(...) : String |
9
- | XSS.java:27:5:27:70 | ... + ... | semmle.label | ... + ... |
10
- | XSS.java:27:21:27:48 | getParameter(...) : String | semmle.label | getParameter(...) : String |
11
8
| XSS.java:38:30:38:87 | ... + ... | semmle.label | ... + ... |
12
9
| XSS.java:38:67:38:87 | getPathInfo(...) : String | semmle.label | getPathInfo(...) : String |
13
10
| XSS.java:41:36:41:56 | getPathInfo(...) : String | semmle.label | getPathInfo(...) : String |
14
11
| XSS.java:41:36:41:67 | getBytes(...) | semmle.label | getBytes(...) |
15
12
#select
16
13
| XSS.java:23:5:23:70 | ... + ... | XSS.java:23:21:23:48 | getParameter(...) : String | XSS.java:23:5:23:70 | ... + ... | Cross-site scripting vulnerability due to $@. | XSS.java:23:21:23:48 | getParameter(...) | user-provided value |
17
- | XSS.java:27:5:27:70 | ... + ... | XSS.java:27:21:27:48 | getParameter(...) : String | XSS.java:27:5:27:70 | ... + ... | Cross-site scripting vulnerability due to $@. | XSS.java:27:21:27:48 | getParameter(...) | user-provided value |
18
14
| XSS.java:38:30:38:87 | ... + ... | XSS.java:38:67:38:87 | getPathInfo(...) : String | XSS.java:38:30:38:87 | ... + ... | Cross-site scripting vulnerability due to $@. | XSS.java:38:67:38:87 | getPathInfo(...) | user-provided value |
19
15
| XSS.java:41:36:41:67 | getBytes(...) | XSS.java:41:36:41:56 | getPathInfo(...) : String | XSS.java:41:36:41:67 | getBytes(...) | Cross-site scripting vulnerability due to $@. | XSS.java:41:36:41:56 | getPathInfo(...) | user-provided value |
Original file line number Diff line number Diff line change @@ -22,15 +22,15 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
22
22
response .getWriter ().print (
23
23
"The page \" " + request .getParameter ("page" ) + "\" was not found." );
24
24
25
- // BAD: a request parameter is written directly to an error response page
25
+ // GOOD: servlet API encodes the error message HTML for the HTML context
26
26
response .sendError (HttpServletResponse .SC_NOT_FOUND ,
27
27
"The page \" " + request .getParameter ("page" ) + "\" was not found." );
28
28
29
29
// GOOD: escape HTML characters first
30
30
response .sendError (HttpServletResponse .SC_NOT_FOUND ,
31
31
"The page \" " + encodeForHtml (request .getParameter ("page" )) + "\" was not found." );
32
32
33
- // FALSE NEGATIVE: passed through function that is not a secure check
33
+ // GOOD: servlet API encodes the error message HTML for the HTML context
34
34
response .sendError (HttpServletResponse .SC_NOT_FOUND ,
35
35
"The page \" " + capitalizeName (request .getParameter ("page" )) + "\" was not found." );
36
36
You can’t perform that action at this time.
0 commit comments