Skip to content

Commit a5d4f84

Browse files
Potential fix for code scanning alert no. 34: Cross-site scripting
Bad XSS fix for Benchmark00728 Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
1 parent 034a7ba commit a5d4f84

1 file changed

Lines changed: 31 additions & 1 deletion

File tree

src/main/java/org/owasp/benchmark/testcode/Benchmark00728.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,36 @@ public class Benchmark00728 extends HttpServlet {
2929

3030
private static final long serialVersionUID = 1L;
3131

32+
private static String escapeHtml(String input) {
33+
if (input == null) {
34+
return "";
35+
}
36+
StringBuilder sb = new StringBuilder(input.length());
37+
for (int i = 0; i < input.length(); i++) {
38+
char c = input.charAt(i);
39+
switch (c) {
40+
case '&':
41+
sb.append("&amp;");
42+
break;
43+
case '<':
44+
sb.append("&lt;");
45+
break;
46+
case '>':
47+
sb.append("&gt;");
48+
break;
49+
case '"':
50+
sb.append("&quot;");
51+
break;
52+
case '\'':
53+
sb.append("&#x27;");
54+
break;
55+
default:
56+
sb.append(c);
57+
}
58+
}
59+
return sb.toString();
60+
}
61+
3262
@Override
3363
public void doGet(HttpServletRequest request, HttpServletResponse response)
3464
throws ServletException, IOException {
@@ -53,6 +83,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
5383
else bar = "This should never happen";
5484

5585
response.setHeader("X-XSS-Protection", "0");
56-
response.getWriter().println(bar);
86+
response.getWriter().println(escapeHtml(bar));
5787
}
5888
}

0 commit comments

Comments
 (0)