Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
89214f7
Make database helper method private since not intended to be used by
Jan 13, 2026
e9f8ac9
Bump com.fasterxml.jackson.core:jackson-databind from 2.20.1 to 2.21.0
dependabot[bot] Jan 19, 2026
7638712
Bump org.codehaus.mojo:versions-maven-plugin from 2.20.1 to 2.21.0
dependabot[bot] Jan 19, 2026
54b2970
Merge pull request #413 from OWASP-Benchmark/dependabot/maven/com.fas…
davewichers Jan 21, 2026
eadf004
Merge pull request #414 from OWASP-Benchmark/dependabot/maven/org.cod…
davewichers Jan 21, 2026
f63d410
Bump com.diffplug.spotless:spotless-maven-plugin from 3.1.0 to 3.2.0
dependabot[bot] Jan 23, 2026
3e382ec
Merge pull request #415 from OWASP-Benchmark/dependabot/maven/com.dif…
davewichers Jan 23, 2026
b66269f
Bump com.diffplug.spotless:spotless-maven-plugin from 3.2.0 to 3.2.1
dependabot[bot] Jan 28, 2026
6928628
Merge pull request #416 from OWASP-Benchmark/dependabot/maven/com.dif…
davewichers Jan 28, 2026
ab0b0ce
Bump commons-codec:commons-codec from 1.20.0 to 1.21.0
dependabot[bot] Jan 30, 2026
5592306
Merge pull request #417 from OWASP-Benchmark/dependabot/maven/commons…
davewichers Jan 30, 2026
30b3409
Bump org.apache.maven.plugins:maven-compiler-plugin
dependabot[bot] Feb 2, 2026
0bb22b1
Merge pull request #418 from OWASP-Benchmark/dependabot/maven/org.apa…
davewichers Feb 2, 2026
72cf655
Minor code cleanup to one method in Utils and removal of some commented
Feb 2, 2026
3f0c7a4
Merge branch 'master' of https://github.com/OWASP-Benchmark/Benchmark…
Feb 2, 2026
e6e9c2e
Eliminate some unintended vulns in the test cases.
Feb 2, 2026
6f368bf
Clean up .gitignore
Feb 4, 2026
ee05ba5
Bump org.apache.maven.plugins:maven-dependency-plugin
dependabot[bot] Feb 9, 2026
964b9e0
Merge pull request #420 from OWASP-Benchmark/dependabot/maven/org.apa…
davewichers Feb 9, 2026
a52ca05
Bump org.apache.httpcomponents.core5:httpcore5 from 5.4 to 5.4.1
dependabot[bot] Feb 11, 2026
e960c73
Merge pull request #421 from OWASP-Benchmark/dependabot/maven/org.apa…
davewichers Feb 13, 2026
12ee735
Add jaxb dependencies removed post Java 11 and upgrade Tomcat.
Feb 18, 2026
7e3eb02
Bump com.fasterxml.jackson.core:jackson-databind from 2.21.0 to 2.21.1
dependabot[bot] Feb 23, 2026
82ade7f
Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.4 to 3.5.5
dependabot[bot] Feb 23, 2026
3299c0d
Merge pull request #428 from OWASP-Benchmark/dependabot/maven/com.fas…
davewichers Feb 23, 2026
9a469fe
Merge pull request #429 from OWASP-Benchmark/dependabot/maven/org.apa…
davewichers Feb 23, 2026
9c4bec0
Bump actions/upload-artifact from 6 to 7
dependabot[bot] Feb 27, 2026
8631f2c
Bump com.diffplug.spotless:spotless-maven-plugin from 3.2.1 to 3.3.0
dependabot[bot] Mar 3, 2026
2f0edc6
Bump org.apache.maven.plugins:maven-resources-plugin from 3.4.0 to 3.5.0
dependabot[bot] Mar 5, 2026
ef1d14e
Bump org.apache.httpcomponents.core5:httpcore5 from 5.4.1 to 5.4.2
dependabot[bot] Mar 6, 2026
1897fb7
Merge pull request #430 from OWASP-Benchmark/dependabot/github_action…
davewichers Mar 9, 2026
c43a046
Merge pull request #431 from OWASP-Benchmark/dependabot/maven/com.dif…
davewichers Mar 9, 2026
2bc25ae
Merge pull request #432 from OWASP-Benchmark/dependabot/maven/org.apa…
davewichers Mar 9, 2026
f3828e2
Merge pull request #433 from OWASP-Benchmark/dependabot/maven/org.apa…
davewichers Mar 9, 2026
514e141
Add devcontainer.json config file for GitHub Codespace configuration.
davewichers Mar 10, 2026
3e010d5
Bump org.codehaus.mojo:extra-enforcer-rules from 1.11.0 to 1.12.0
dependabot[bot] Mar 16, 2026
a5ff7ad
Bump com.diffplug.spotless:spotless-maven-plugin from 3.3.0 to 3.4.0
dependabot[bot] Mar 19, 2026
55c6d28
Bump com.fasterxml.jackson.core:jackson-databind from 2.21.1 to 2.21.2
dependabot[bot] Mar 23, 2026
7ac5f70
Merge pull request #436 from OWASP-Benchmark/dependabot/maven/org.cod…
davewichers Mar 23, 2026
63e1007
Merge pull request #438 from OWASP-Benchmark/dependabot/maven/com.dif…
davewichers Mar 23, 2026
c180d39
Merge pull request #439 from OWASP-Benchmark/dependabot/maven/com.fas…
davewichers Mar 23, 2026
b389dd5
Bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.8.2 to 4.9.8.3
dependabot[bot] Mar 30, 2026
c6e642e
Merge pull request #442 from OWASP-Benchmark/dependabot/maven/com.git…
davewichers Mar 30, 2026
a177e09
Bump org.codehaus.cargo:cargo-maven3-plugin from 1.10.26 to 1.10.27
dependabot[bot] Apr 6, 2026
5aef631
Merge pull request #443 from OWASP-Benchmark/dependabot/maven/org.cod…
davewichers Apr 6, 2026
b7b159c
Remove deprecated JVM parameter when starting Tomcat and update licen…
davewichers Apr 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
// Name
"name": "Benchmark GitHub Codespace Config",

"postCreateCommand": "sdk install java 17.0.18-amzn"
}

2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
uses: github/codeql-action/analyze@v4

- name: Upload Output
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.language }} SARIF
path: ${{ runner.workspace }}/results/*.sarif
Expand Down
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@
*.iml
.scannerwork/

data/out.csv
owasp-benchmark/
reports/
src.zip
src/WEB-INF/
src/main/resources/benchmark.properties
target/
testfiles/
Expand Down
4 changes: 2 additions & 2 deletions data/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ info:
contact:
email: dave.wichers@owasp.org
license:
name: GNU GPL 2.0
url: https://choosealicense.com/licenses/gpl-2.0/
name: GNU GPL 3.0
url: https://choosealicense.com/licenses/gpl-3.0/
version: "1.2"
servers:
- url: https://localhost:8443/benchmark
Expand Down
39 changes: 25 additions & 14 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -614,6 +614,18 @@
<scope>provided</scope>
</dependency>

<!-- jaxb dependencies removed from Java 11+ -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.9</version>
</dependency>

<!-- mvn dependency:analyze says this is an unused declared dependency, but its wrong. I think the webapp needs it somehow. -->
<dependency>
<groupId>com.sun.jersey</groupId>
Expand All @@ -624,7 +636,7 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.20.0</version>
<version>1.21.0</version>
</dependency>

<!-- mvn dependency:analyze says this is an unused declared dependency, but its wrong. Get this runtime error if it's not included: Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in class path resource [context.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource -->
Expand Down Expand Up @@ -771,7 +783,7 @@
<dependency>
<groupId>org.apache.httpcomponents.core5</groupId>
<artifactId>httpcore5</artifactId>
<version>5.4</version>
<version>5.4.2</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -854,7 +866,7 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.20.1</version>
<version>2.21.2</version>
</dependency>
</dependencies>

Expand Down Expand Up @@ -890,7 +902,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.9.0</version>
<version>3.10.0</version>
<configuration>
<usedDependencies>
<dependency>com.sun.jersey:jersey-servlet</dependency>
Expand Down Expand Up @@ -924,7 +936,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
<version>3.15.0</version>
<configuration>
<fork>true</fork>
<meminitial>1000m</meminitial>
Expand All @@ -947,7 +959,7 @@
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>1.11.0</version>
<version>1.12.0</version>
</dependency>
</dependencies>
<executions>
Expand Down Expand Up @@ -1017,7 +1029,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.4.0</version>
<version>3.5.0</version>
</plugin>

<plugin>
Expand All @@ -1038,7 +1050,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.4</version>
<version>3.5.5</version>
</plugin>

<plugin>
Expand All @@ -1053,13 +1065,13 @@
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven3-plugin</artifactId>
<version>1.10.26</version>
<version>1.10.27</version>
</plugin>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.20.1</version>
<version>2.21.0</version>
</plugin>

<!-- SpotBugs Static Analysis - the successor to FindBugs -->
Expand Down Expand Up @@ -1104,7 +1116,7 @@
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>3.1.0</version>
<version>3.4.0</version>
<configuration>
<!-- optional: limit format enforcement to just the files changed by this feature branch -->
<ratchetFrom>origin/master</ratchetFrom>
Expand Down Expand Up @@ -1239,7 +1251,6 @@
<tomcat.jvmargs.debug>
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5050
-Xnoagent
-Djava.compiler=NONE
</tomcat.jvmargs.debug>
<log.directory>${project.build.directory}/log</log.directory>
Expand All @@ -1249,13 +1260,13 @@
<version.fluido>2.1.0</version.fluido>
<!-- hibernate is up to rev 6+. But 4.0.0. causes this error: symbol: org.hibernate.classic.Session not found -->
<version.hibernate>3.6.10.Final</version.hibernate>
<version.spotbugs.maven>4.9.8.2</version.spotbugs.maven>
<version.spotbugs.maven>4.9.8.3</version.spotbugs.maven>
<version.spotbugs>4.9.8</version.spotbugs>
<!-- Spring 6.x requires Java 17 -->
<version.springframework>5.3.39</version.springframework>
<!-- Tomcat 10 moves from Java EE to Jakarta EE, moving packages javax.* to jakarta.* - code changes likely required to address this change. -->
<tomcat.major.version>9</tomcat.major.version>
<version.tomcat>9.0.113</version.tomcat>
<version.tomcat>9.0.115</version.tomcat>
<tomcat.url>https://archive.apache.org/dist/tomcat/tomcat-${tomcat.major.version}/v${version.tomcat}/bin/apache-tomcat-${version.tomcat}.zip</tomcat.url>
</properties>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public class DatabaseHelper {
new org.owasp.benchmark.helpers.HibernateUtil(true);
public static final boolean hideSQLErrors =
false; // If we want SQL Exceptions to be suppressed from being displayed to the user of

// the web app.

static {
Expand Down Expand Up @@ -168,7 +169,7 @@ public static java.sql.Connection getSqlConnection() {
return conn;
}

public static void executeSQLCommand(String sql) throws Exception {
private static void executeSQLCommand(String sql) throws Exception {
Statement stmt = getSqlStatement();
stmt.executeUpdate(sql);
}
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/org/owasp/benchmark/helpers/LDAPManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -112,19 +112,20 @@ private boolean search(LDAPPerson person) {

NamingEnumeration<SearchResult> results = ctx.search(base, filter, sc);

boolean foundUser = results.hasMore();

while (results.hasMore()) {
SearchResult sr = (SearchResult) results.next();
Attributes attrs = sr.getAttributes();

Attribute attr = attrs.get("uid");
if (attr != null) {
// logger.debug("record found " + attr.get());
// System.out.println("record found " + attr.get());
}
}
ctx.close();

return true;
return foundUser;
} catch (Exception e) {
System.out.println("LDAP error search: ");
e.printStackTrace();
Expand Down
4 changes: 0 additions & 4 deletions src/main/java/org/owasp/benchmark/helpers/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,6 @@ public static void printOSCommandResults(java.lang.Process proc, HttpServletResp

try {
// read the output from the command
// System.out.println("Here is the standard output of the
// command:\n");
out.write("Here is the standard output of the command:<br>");
String s = null;
while ((s = stdInput.readLine()) != null) {
Expand All @@ -246,8 +244,6 @@ public static void printOSCommandResults(java.lang.Process proc, HttpServletResp
}

// read any errors from the attempted command
// System.out.println("Here is the standard error of the command (if
// any):\n");
out.write("<br>Here is the std err of the command (if any):<br>");
while ((s = stdError.readLine()) != null) {
out.write(ESAPI.encoder().encodeForHTML(s));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public void doGet(HttpServletRequest request, HttpServletResponse response)
new javax.servlet.http.Cookie("BenchmarkTest00001", "FileName");
userCookie.setMaxAge(60 * 3); // Store cookie for 3 minutes
userCookie.setSecure(true);
userCookie.setHttpOnly(true);
userCookie.setPath(request.getRequestURI());
userCookie.setDomain(new java.net.URL(request.getRequestURL().toString()).getHost());
response.addCookie(userCookie);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public void doGet(HttpServletRequest request, HttpServletResponse response)
new javax.servlet.http.Cookie("BenchmarkTest00002", "FileName");
userCookie.setMaxAge(60 * 3); // Store cookie for 3 minutes
userCookie.setSecure(true);
userCookie.setHttpOnly(true);
userCookie.setPath(request.getRequestURI());
userCookie.setDomain(new java.net.URL(request.getRequestURL().toString()).getHost());
response.addCookie(userCookie);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public void doGet(HttpServletRequest request, HttpServletResponse response)
new javax.servlet.http.Cookie("BenchmarkTest00003", "someSecret");
userCookie.setMaxAge(60 * 3); // Store cookie for 3 minutes
userCookie.setSecure(true);
userCookie.setHttpOnly(true);
userCookie.setPath(request.getRequestURI());
userCookie.setDomain(new java.net.URL(request.getRequestURL().toString()).getHost());
response.addCookie(userCookie);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public void doGet(HttpServletRequest request, HttpServletResponse response)
new javax.servlet.http.Cookie("BenchmarkTest00004", "color");
userCookie.setMaxAge(60 * 3); // Store cookie for 3 minutes
userCookie.setSecure(true);
userCookie.setHttpOnly(true);
userCookie.setPath(request.getRequestURI());
userCookie.setDomain(new java.net.URL(request.getRequestURL().toString()).getHost());
response.addCookie(userCookie);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
} catch (java.sql.SQLException e) {
if (org.owasp.benchmark.helpers.DatabaseHelper.hideSQLErrors) {
response.getWriter().println("Error processing request.");
return;
} else throw new ServletException(e);
}
}
Expand Down
16 changes: 11 additions & 5 deletions src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00012.java
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,18 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
.println(
"LDAP query results:<br>"
+ "Record found with name "
+ attr.get()
+ "<br>"
+ "Address: "
+ attr2.get()
+ org.owasp
.esapi
.ESAPI
.encoder()
.encodeForHTML(attr.get().toString())
+ "<br>Address: "
+ org.owasp
.esapi
.ESAPI
.encoder()
.encodeForHTML(attr2.get().toString())
+ "<br>");
// System.out.println("record found " + attr.get());
found = true;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
} catch (java.sql.SQLException e) {
if (org.owasp.benchmark.helpers.DatabaseHelper.hideSQLErrors) {
response.getWriter().println("Error processing request.");
return;
} else throw new ServletException(e);
}
}
Expand Down
17 changes: 11 additions & 6 deletions src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00021.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
sc.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
String filter = "(&(objectclass=person))(|(uid=" + param + ")(street={0}))";
Object[] filters = new Object[] {"The streetz 4 Ms bar"};
// System.out.println("Filter " + filter);
boolean found = false;
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> results =
ctx.search(base, filter, filters, sc);
Expand All @@ -69,12 +68,18 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
.println(
"LDAP query results:<br>"
+ "Record found with name "
+ attr.get()
+ "<br>"
+ "Address: "
+ attr2.get()
+ org.owasp
.esapi
.ESAPI
.encoder()
.encodeForHTML(attr.get().toString())
+ "<br>Address: "
+ org.owasp
.esapi
.ESAPI
.encoder()
.encodeForHTML(attr2.get().toString())
+ "<br>");
// System.out.println("record found " + attr.get());
found = true;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
} catch (java.sql.SQLException e) {
if (org.owasp.benchmark.helpers.DatabaseHelper.hideSQLErrors) {
response.getWriter().println("Error processing request.");
return;
} else throw new ServletException(e);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
org.owasp.benchmark.helpers.DatabaseHelper.JDBCtemplate.queryForRowSet(sql);
response.getWriter().println("Your results are: ");

// System.out.println("Your results are");
while (results.next()) {
response.getWriter()
.println(
Expand All @@ -60,7 +59,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
.encoder()
.encodeForHTML(results.getString("USERNAME"))
+ " ");
// System.out.println(results.getString("USERNAME"));
}
} catch (org.springframework.dao.EmptyResultDataAccessException e) {
response.getWriter()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
} catch (java.sql.SQLException e) {
if (org.owasp.benchmark.helpers.DatabaseHelper.hideSQLErrors) {
response.getWriter().println("Error processing request.");
return;
} else throw new ServletException(e);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
org.owasp.benchmark.helpers.DatabaseHelper.JDBCtemplate.queryForRowSet(sql);
response.getWriter().println("Your results are: ");

// System.out.println("Your results are");
while (results.next()) {
response.getWriter()
.println(
Expand All @@ -64,7 +63,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
.encoder()
.encodeForHTML(results.getString("USERNAME"))
+ " ");
// System.out.println(results.getString("USERNAME"));
}
} catch (org.springframework.dao.EmptyResultDataAccessException e) {
response.getWriter()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ public void doPost(HttpServletRequest request, HttpServletResponse response)
} catch (java.sql.SQLException e) {
if (org.owasp.benchmark.helpers.DatabaseHelper.hideSQLErrors) {
response.getWriter().println("Error processing request.");
return;
} else throw new ServletException(e);
}
}
Expand Down
Loading
Loading