Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: TmmmmmR/JavaVulnerableLab
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: CSPF-Founder/JavaVulnerableLab
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 52 files changed
  • 1 contributor

Commits on Jun 20, 2024

  1. docker-fix

    CSPF-Founder authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    004fbac View commit details
    Browse the repository at this point in the history
  2. docker-compose-update

    CSPF-Founder authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    f96f204 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2026

  1. Configuration menu
    Copy the full SHA
    5408dac View commit details
    Browse the repository at this point in the history
  2. add-xss5-challenge

    CSPF-Founder committed May 9, 2026
    Configuration menu
    Copy the full SHA
    affe17b View commit details
    Browse the repository at this point in the history

Commits on May 10, 2026

  1. add-jdbc-connection-pool-to-survive-scanner-load

    The lab was crashing when a vulnerability scanner hit it because every
    servlet leaks its DB connection (no close), and DBConnect opens a fresh
    DriverManager connection per request. Under load the JVM accumulated
    leaked connections until it OOMed and MySQL hit max_connections=151.
    
    Fix at the pool layer so no servlet/controller code changes (all
    deliberate vulnerabilities preserved):
    
    - Declare a tomcat-jdbc DataSource at jdbc/jvl in META-INF/context.xml
      with maxActive=50 and removeAbandoned=true (60s) so leaked connections
      are auto-reaped.
    - Add resource-ref in web.xml.
    - Make DBConnect.connect look up the pool via JNDI, with the original
      DriverManager path retained as a fallback.
    - Copy mysql-connector-java into Tomcat's shared lib/ so the pool's
      container classloader can load the driver.
    - Bump CATALINA_OPTS to -Xms256m -Xmx1024m.
    - Set MySQL max_connections=500 and shorter wait_timeout/interactive_timeout.
    - Add .dockerignore (mysql-data/, .git/, target/) and .gitignore.
    
    Verified: 200 concurrent SQLi requests cap MySQL Threads_connected at
    50 with Aborted_connects=0; SQLi auth bypass on /LoginValidator still
    works.
    CSPF-Founder committed May 10, 2026
    Configuration menu
    Copy the full SHA
    645e896 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2026

  1. add OWASP Top 10 2025 challenges and restructure navigation

    Realign the lab with the 2025 Top 10 categories and add the challenges the
    new list needs.
    
    New vulnerability pages:
    - A01: JWT claim tampering (unverified signature), SSRF URL preview
    - A02: directory listing on /backup/, debug mode error page
    - A03: Log4Shell via log4j 2.12.1
    - A05: OS command injection (ping)
    - A06: unrestricted file upload, client-side OTP step-up bypass
    - A07: hard-coded API keys in front-end JS, session ID in URL handoff
    - A08: insecure Java deserialization, third-party script with no SRI
    - A09: log injection in the audit trail
    - A10: fail-open access check, incomplete rollback on wallet transfer
    
    Supporting changes:
    - rebuild the nav menu around the 2025 categories and drop dead links
    - add balance column and a mule account to the seed data
    - add a debug toggle to admin config and a widget source admin screen
    - serve session-tracked URLs through response.encodeURL()
    - rework xxe.jsp into an editable XML import form
    - enable EL on xslt.jsp so the stylesheet parameter is reachable
    - raise the JSP buffer on pages.jsp so the stack trace is not truncated
    - restyle the site and add favicons
    CSPF-Founder committed Aug 2, 2026
    Configuration menu
    Copy the full SHA
    7d732f3 View commit details
    Browse the repository at this point in the history
  2. update readme for OWASP Top 10 2025 and docker port change

    - correct the docker setup URL to port 9080
    - drop the obsolete JDBC URL step, install.jsp already defaults to mysql:3306
    - document the seeded accounts and the full Top 10 2025 challenge mapping
    - mark the VM, JAR and WAR methods as outdated and collapse them
    - scope the warning to internet exposure rather than local docker use
    CSPF-Founder committed Aug 2, 2026
    Configuration menu
    Copy the full SHA
    626a106 View commit details
    Browse the repository at this point in the history
Loading