From e4b4eda7f863c49b31b002aa5ae44667cb8a080d Mon Sep 17 00:00:00 2001
From: Brian Cipollone
<40029762+brian-cipollone-sonarsource@users.noreply.github.com>
Date: Thu, 2 Feb 2023 09:28:59 -0600
Subject: [PATCH 01/20] Update pom.xml
---
pom.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/pom.xml b/pom.xml
index 39be106..206c82b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,6 +14,8 @@
11
training:security
Java Web App
+ sonarcloud-demos
+ https://sonarcloud.io
From 77d430492bfe31b4114c53f0674ce9238a503a9e Mon Sep 17 00:00:00 2001
From: Brian Cipollone
<40029762+brian-cipollone-sonarsource@users.noreply.github.com>
Date: Thu, 2 Feb 2023 09:36:56 -0600
Subject: [PATCH 02/20] Create build.yml
---
.github/workflows/build.yml | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 .github/workflows/build.yml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..153dc78
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,36 @@
+name: SonarCloud
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened]
+jobs:
+ build:
+ name: Build and analyze
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
+ - name: Set up JDK 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: 11
+ - name: Cache SonarCloud packages
+ uses: actions/cache@v1
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+ - name: Cache Maven packages
+ uses: actions/cache@v1
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+ - name: Build and analyze
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=SonarCloud-Demos_demo-java-security
From 365c271e7a33c5cf86b454fcbf82fb18078d69ba Mon Sep 17 00:00:00 2001
From: Brian Cipollone
<40029762+brian-cipollone-sonarsource@users.noreply.github.com>
Date: Thu, 2 Feb 2023 09:58:56 -0600
Subject: [PATCH 03/20] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 7a0d8b7..c9f5cde 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# Demo - Java Security
+[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=SonarCloud-Demos_demo-java-security&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=SonarCloud-Demos_demo-java-security)
+
## Use case
This example demonstrates:
- Vulnerabilities
From e33945f1faca4df1cc0e4287606db22421eea75a Mon Sep 17 00:00:00 2001
From: Brian Cipollone
<40029762+brian-cipollone-sonarsource@users.noreply.github.com>
Date: Fri, 3 Feb 2023 11:53:48 -0600
Subject: [PATCH 04/20] Update HomeServlet.java
---
src/main/java/demo/security/servlet/HomeServlet.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/main/java/demo/security/servlet/HomeServlet.java b/src/main/java/demo/security/servlet/HomeServlet.java
index fac56e5..8ca0a64 100644
--- a/src/main/java/demo/security/servlet/HomeServlet.java
+++ b/src/main/java/demo/security/servlet/HomeServlet.java
@@ -22,6 +22,10 @@ protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name").trim();
response.setContentType("text/html");
+ writeResponse(name);
+ }
+
+ protected void writeResponse(String name) throws IOException {
PrintWriter out = response.getWriter();
out.print("Hello "+name+ "
");
out.close();
@@ -29,7 +33,6 @@ protected void doGet(HttpServletRequest request,
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
doGet(request, response);
}
From 9527d618bb802e72143274c1394ae861f13e8086 Mon Sep 17 00:00:00 2001
From: Brian Cipollone
<40029762+brian-cipollone-sonarsource@users.noreply.github.com>
Date: Mon, 6 Feb 2023 15:24:50 -0600
Subject: [PATCH 05/20] Update HomeServlet.java
---
src/main/java/demo/security/servlet/HomeServlet.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/demo/security/servlet/HomeServlet.java b/src/main/java/demo/security/servlet/HomeServlet.java
index 8ca0a64..9cd2286 100644
--- a/src/main/java/demo/security/servlet/HomeServlet.java
+++ b/src/main/java/demo/security/servlet/HomeServlet.java
@@ -22,10 +22,10 @@ protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name").trim();
response.setContentType("text/html");
- writeResponse(name);
+ writeResponse(response, name);
}
- protected void writeResponse(String name) throws IOException {
+ protected void writeResponse(HttpServletResponse response, String name) throws IOException {
PrintWriter out = response.getWriter();
out.print("Hello "+name+ "
");
out.close();
From 74537f8bd9da058ef522974d330b05aebc396ec0 Mon Sep 17 00:00:00 2001
From: Brian Cipollone
<40029762+brian-cipollone-sonarsource@users.noreply.github.com>
Date: Wed, 3 May 2023 11:59:44 -0500
Subject: [PATCH 06/20] Delete s3649JavaSqlInjectionConfig.json
---
s3649JavaSqlInjectionConfig.json | 23 -----------------------
1 file changed, 23 deletions(-)
delete mode 100644 s3649JavaSqlInjectionConfig.json
diff --git a/s3649JavaSqlInjectionConfig.json b/s3649JavaSqlInjectionConfig.json
deleted file mode 100644
index 29b5406..0000000
--- a/s3649JavaSqlInjectionConfig.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "sources": [
- {
- "methodId": "training.security.Insecure#getInput(Ljava/lang/String;)Ljava/lang/String;"
- }
- ],
- "sanitizers": [
- {
- "methodId": "training.security.Insecure#verifyData(Ljava/lang/String;)V",
- "args": [
- 1
- ]
- }
- ],
- "sinks": [
- {
- "methodId": "training.security.Insecure#storeData(Ljava/lang/String;)V",
- "args": [
- 1
- ]
- }
- ]
-}
From 182fd252730a4b5fc782cb25797fdc4149625e63 Mon Sep 17 00:00:00 2001
From: robbiebise <118204121+robbiebise@users.noreply.github.com>
Date: Mon, 29 Apr 2024 12:16:48 -0500
Subject: [PATCH 07/20] Update build.yml
update to java 17
---
.github/workflows/build.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 153dc78..5b83e1e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -13,10 +13,10 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- - name: Set up JDK 11
+ - name: Set up JDK 17
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache SonarCloud packages
uses: actions/cache@v1
with:
From 5690e6ffc2789f1025402ab2a51105757685a9fa Mon Sep 17 00:00:00 2001
From: robbiebise <118204121+robbiebise@users.noreply.github.com>
Date: Mon, 29 Apr 2024 13:09:25 -0500
Subject: [PATCH 08/20] Update pom.xml
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 206c82b..3b02cdd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -79,7 +79,7 @@
org.sonarsource.scanner.maven
sonar-maven-plugin
- 3.9.1.2184
+ 3.11.0.3922
From 609fedd2d3aea17538e219c1dcab3130db715c4f Mon Sep 17 00:00:00 2001
From: robbiebise <118204121+robbiebise@users.noreply.github.com>
Date: Mon, 29 Apr 2024 13:11:38 -0500
Subject: [PATCH 09/20] Update build.yml
---
.github/workflows/build.yml | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5b83e1e..2453690 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,26 +5,27 @@ on:
- main
pull_request:
types: [opened, synchronize, reopened]
+ workflow_run:
jobs:
build:
name: Build and analyze
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 17
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v3
with:
java-version: 17
- name: Cache SonarCloud packages
- uses: actions/cache@v1
+ uses: actions/cache@v3
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
- uses: actions/cache@v1
+ uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
From 7852c6178aa72b7a81a0d39fd1b7b5a267ba9d13 Mon Sep 17 00:00:00 2001
From: robbiebise <118204121+robbiebise@users.noreply.github.com>
Date: Mon, 29 Apr 2024 13:12:18 -0500
Subject: [PATCH 10/20] Update build.yml
---
.github/workflows/build.yml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2453690..1742298 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,7 +5,6 @@ on:
- main
pull_request:
types: [opened, synchronize, reopened]
- workflow_run:
jobs:
build:
name: Build and analyze
From b6e34ed6aa002ea8bdbc623f9a93f3fdb416ee23 Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 12:13:02 -0500
Subject: [PATCH 11/20] add workflow run for manual CI trigger
---
.github/workflows/build.yml | 1 +
src/main/java/demo/security/util/DBUtils.java | 6 ++++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1742298..ded45ce 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,5 +1,6 @@
name: SonarCloud
on:
+ workflow_run:
push:
branches:
- main
diff --git a/src/main/java/demo/security/util/DBUtils.java b/src/main/java/demo/security/util/DBUtils.java
index dbac2ca..8010355 100644
--- a/src/main/java/demo/security/util/DBUtils.java
+++ b/src/main/java/demo/security/util/DBUtils.java
@@ -15,8 +15,10 @@ public DBUtils() throws SQLException {
public List findUsers(String user) throws Exception {
String query = "SELECT userid FROM users WHERE username = '" + user + "'";
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery(query);
+ ResultSet resultSet;
+ try (Statement statement = connection.createStatement()) {
+ resultSet = statement.executeQuery(query);
+ }
List users = new ArrayList();
while (resultSet.next()){
users.add(resultSet.getString(0));
From 309c2792cba6cb16a991f59c543b97c0af213752 Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 12:14:49 -0500
Subject: [PATCH 12/20] revert
---
src/main/java/demo/security/util/DBUtils.java | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/main/java/demo/security/util/DBUtils.java b/src/main/java/demo/security/util/DBUtils.java
index 8010355..dbac2ca 100644
--- a/src/main/java/demo/security/util/DBUtils.java
+++ b/src/main/java/demo/security/util/DBUtils.java
@@ -15,10 +15,8 @@ public DBUtils() throws SQLException {
public List findUsers(String user) throws Exception {
String query = "SELECT userid FROM users WHERE username = '" + user + "'";
- ResultSet resultSet;
- try (Statement statement = connection.createStatement()) {
- resultSet = statement.executeQuery(query);
- }
+ Statement statement = connection.createStatement();
+ ResultSet resultSet = statement.executeQuery(query);
List users = new ArrayList();
while (resultSet.next()){
users.add(resultSet.getString(0));
From 2c88e2078ae2402ad029ddbf96686016b5b22360 Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 14:44:36 -0500
Subject: [PATCH 13/20] add dist
---
.github/workflows/build.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ded45ce..3925e23 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -18,6 +18,7 @@ jobs:
uses: actions/setup-java@v3
with:
java-version: 17
+ distribution: 'zulu'
- name: Cache SonarCloud packages
uses: actions/cache@v3
with:
From f4b7f5d655a63fef582c870992602dd709dadd7e Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 14:55:15 -0500
Subject: [PATCH 14/20] fix dispatch
---
.github/workflows/build.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3925e23..98c2b5d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,6 +1,6 @@
name: SonarCloud
-on:
- workflow_run:
+on:
+ workflow_dispatch:
push:
branches:
- main
@@ -35,4 +35,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=SonarCloud-Demos_demo-java-security
+ run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=SonarCloud-Demos_demo-java-security
\ No newline at end of file
From 79f65f9c77fe90f9172132b90edb5a3d9b4d0454 Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 14:58:31 -0500
Subject: [PATCH 15/20] upgrade war plugin
---
pom.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/pom.xml b/pom.xml
index 3b02cdd..d8701bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,6 +54,11 @@
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 3.3.1
+
org.jacoco
jacoco-maven-plugin
From 5db3fd5106eaf1121c04e3ec1936c71ef258a75b Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 15:01:59 -0500
Subject: [PATCH 16/20] upgrade java verison
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index d8701bb..6c17931 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,8 +10,8 @@
http://maven.apache.org
UTF-8
- 11
- 11
+ 17
+ 17
training:security
Java Web App
sonarcloud-demos
From 95daf345f3e4c6b6a6b347b3908e2d72c7859d40 Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 15:03:02 -0500
Subject: [PATCH 17/20] pom changes
---
pom.xml | 6 ------
1 file changed, 6 deletions(-)
diff --git a/pom.xml b/pom.xml
index 6c17931..82a97d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,12 +54,6 @@
-
- org.apache.maven.plugins
- maven-war-plugin
- 3.3.1
-
-
org.jacoco
jacoco-maven-plugin
0.8.8
From 0929a62e77148d818193e1d143e5ffd2923ebf05 Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 15:04:09 -0500
Subject: [PATCH 18/20] pom changes
---
pom.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/pom.xml b/pom.xml
index 82a97d1..f3fb13a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,6 +54,7 @@
+
org.jacoco
jacoco-maven-plugin
0.8.8
From 426541846987fdaeeef85eefd8dcf458aeb7fde6 Mon Sep 17 00:00:00 2001
From: Robbie Bise
Date: Mon, 29 Apr 2024 15:04:09 -0500
Subject: [PATCH 19/20] pom changes
---
pom.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/pom.xml b/pom.xml
index f3fb13a..6c17931 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,6 +54,11 @@
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 3.3.1
+
org.jacoco
jacoco-maven-plugin
From 723e1d60ea504718abde893ef27b55f5428c9061 Mon Sep 17 00:00:00 2001
From: Cole Gannaway
<156719330+cole-gannaway-sonarsource@users.noreply.github.com>
Date: Fri, 16 Aug 2024 11:06:12 -0500
Subject: [PATCH 20/20] added ability to trigger pipelines on feature branches
as well
---
.github/workflows/build.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 98c2b5d..7e1d058 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,6 +4,7 @@ on:
push:
branches:
- main
+ - feature*
pull_request:
types: [opened, synchronize, reopened]
jobs:
@@ -35,4 +36,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=SonarCloud-Demos_demo-java-security
\ No newline at end of file
+ run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=SonarCloud-Demos_demo-java-security