Skip to content

michael-PR-failed-QG#84

Open
michail-melizanis-sonarsource wants to merge 1 commit into
mainfrom
michael-PR-failed-QG
Open

michael-PR-failed-QG#84
michail-melizanis-sonarsource wants to merge 1 commit into
mainfrom
michael-PR-failed-QG

Conversation

@michail-melizanis-sonarsource

Copy link
Copy Markdown

Summary

Adds MichaelQgFailServlet with intentional security vulnerabilities to demonstrate a failing SonarQube Quality Gate on new code:

  • SQL injection (javasecurity:S3649): user-controlled user parameter concatenated into a SQL query
  • XSS (javasecurity:S5131): user-controlled msg parameter reflected unsanitized in HTML output

Endpoint: /michael-qg-fail?user=...&msg=...

Test plan

  • CI runs SonarQube analysis on the PR
  • Quality Gate reports new security issues on new code
  • Do not merge (demo PR)

Introduces MichaelQgFailServlet to demonstrate SonarQube security findings on new code in a pull request.
@sonar-nautilus

Copy link
Copy Markdown

Quality Gate failed Quality Gate failed

Failed conditions
4 New issues
1 Security Hotspot
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE SonarQube for IDE

PrintWriter out = response.getWriter();
out.print("<html><body>");
out.print("<p>Lookup result: " + lookupUser(username) + "</p>");
out.print("<p>Your message: " + message + "</p>");
return "no user specified";
}
try (Connection connection = DriverManager.getConnection(
"jdbc:demo", "demo", "demo");
"jdbc:demo", "demo", "demo");
Statement statement = connection.createStatement()) {
String query = "SELECT userid FROM users WHERE username = '" + user + "'";
ResultSet resultSet = statement.executeQuery(query);
String message = request.getParameter("msg");

response.setContentType("text/html");
PrintWriter out = response.getWriter();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants