Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
JavaSecLab — Umfassendes Java-Sicherheitslabor mit verwundbarem und korrigiertem Code, Angriffsszenarien, Audit-Notizen zu Quellen und Senken sowie Anleitungen für sicheres Programmieren für Sicherheitsschulungen und Tool-Bewertung. | Kitploit
Tools/GitHubGitHub/whgojp/javaseclab
Statische Code-Analyse (SAST)SchwachstellenanalyseCode-AnalyseWebsicherheitCTFPenetrationstestsDevSecOpsLernen & BildungLabs & Praxis
GitHubwhgojp/javaseclab

JavaSecLab

Umfassendes Java-Sicherheitslabor mit verwundbarem und korrigiertem Code, Angriffsszenarien, Audit-Notizen zu Quellen und Senken sowie Anleitungen für sicheres Programmieren für Sicherheitsschulungen und Tool-Bewertung.

881777vor 3 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigenWebseite

JavaSecLab - Ein umfassendes Java-Schwachstellenlabor

License Java Version Developed by whgojp GitHub Repo stars GitHub forks

中文文档


Überblick

JavaSecLab ist ein umfassendes Java-Schwachstellenlabor für das Lernen von Anwendungssicherheit, die Praxis von Code-Audits, Schulungen in sicherer Entwicklung und die Bewertung von Sicherheitstools. Es basiert auf Spring Boot und bietet verwundbaren Code, korrigierte Implementierungen, realistische Angriffsszenarien, audit-orientierte Hinweise zu Sources und Sinks, Anleitungen zur Behebung, Erklärungen zu sicherem Programmieren sowie Beispiele zur Verkehrsanalyse.

Das Ziel ist praktisch: Nutzern nicht nur zu vermitteln, wie eine Schwachstelle ausgenutzt wird, sondern auch, warum sie im Code existiert und wie sie behoben werden sollte.

home

show

Für wen ist es gedacht?

  • Security-Service-Teams: Erklären von Schwachstellenursachen, Ausnutzungspfaden, Behebungen, Audit-Abläufen und Verkehrsmustern.
  • Unternehmens-Sicherheitsteams: Nutzung für SDL, DevSecOps, Schulungen in sicherer Entwicklung und Sensibilisierungsprogramme.
  • Sicherheitsforscher: Testen von SAST, DAST, IAST, RASP, SCA, xAST, Erreichbarkeitsanalyse und anderen Sicherheitstools.
  • Java-Entwickler: Kennenlernen häufiger Anwendungssicherheitsprobleme anhand von echtem Code statt abstrakter Checklisten.

Schwachstellenmodule

JavaSecLab deckt ein breites Spektrum an Java-Web-Sicherheitsszenarien ab, darunter:

  • XSS, CSRF, CORS, JSONP, URL-Weiterleitung, XFF-Spoofing, Denial of Service und XPath-Injection
  • SQL-Injection, beliebiges Lesen/Upload/Download/Löschen von Dateien, SSRF, XXE und RCE
  • Fehler in der Geschäftslogik: IDOR, Captcha-Sicherheit, Zahlungssicherheit und Nebenläufigkeitssicherheit
  • Offenlegung sensibler Informationen, Login-Konfrontation, Request-Signierung und JWT-Credential-Sicherheit
  • SpEL-Injection, SSTI und Java-Deserialisierung
  • Fastjson, Jackson, XStream, Log4j2, Shiro, SnakeYAML, XMLDecoder und weitere Komponenten-/Ökosystem-Fälle
  • Exposition des Spring-Boot-Ökosystems: Swagger, Actuator, Druid, MySQL-JDBC-Deserialisierung und mehr

Online-Demo

Demo-Seite: http://whgojp.top/

Standardkonto: admin/admin

JavaSecLab ist absichtlich verwundbar und enthält gefährliche Endpunkte, verwundbare Abhängigkeiten und unsichere Konfigurationen. Betreiben Sie Ihre eigene Bereitstellung nur in einer isolierten Umgebung. Setzen Sie es nicht direkt dem öffentlichen Internet aus.

Warum dieses Projekt existiert

Der Autor hat in Unternehmens-Sicherheitsrollen gearbeitet und den vollständigen Lebenszyklus von Schwachstellen erlebt. Nach Penetrationstests oder Sicherheitsbewertungen werden Schwachstellen häufig über Systeme wie TAPD oder Jira an Entwicklungsteams übergeben. In der Praxis tauchen zwei Fragen immer wieder auf:

  1. Warum ist dieses Verhalten eine Schwachstelle?
  2. Wie sollte diese Schwachstelle behoben werden?

JavaSecLab wurde geschaffen, um Schwachstellenverhalten, verwundbaren Code, Behebungsansätze und Audit-Denken miteinander zu verbinden. Im Vergleich zu einem reinen Textbericht oder einem PoC legt das Projekt den Schwerpunkt darauf, Schwachstellen aus der Code-Perspektive zu verstehen.

Beim Code-Auditing besteht ein üblicher Arbeitsablauf darin, zuerst eine Sink zu lokalisieren, etwa Befehlsausführung, SQL-Ausführung, Dateizugriff, Template-Rendering, Deserialisierung oder Antwortausgabe. Der Auditor verfolgt dann rückwärts, um die entsprechende Source zu identifizieren, etwa Request-Parameter, Header, Cookies, hochgeladene Dateien, serialisierte Daten oder Datenbankinhalte. Viele JavaSecLab-Szenarien sind um diesen Source-to-Sink-Pfad herum gestaltet, was sie sowohl für das Lernen als auch für die Tool-Verifikation nützlich macht.

Derselbe Schwachstellentyp tritt in realen Systemen oft über mehrere Auslösepfade auf. JavaSecLab bietet daher wo möglich mehrere Szenarien für zentrale Schwachstellenklassen, damit Nutzer vergleichen können, wie unterschiedliche Codemuster, Framework-Funktionen und Geschäftsabläufe das Risiko beeinflussen.

Verkehrsanalyse

JavaSecLab enthält Beispiele zur Verkehrsanalyse von Schwachstellen, um Lernenden zu helfen, Request-/Response-Verhalten mit der Codeausführung zu verbinden. Beiträge mit klareren Paketen, besseren Reproduktionshinweisen oder zusätzlichen Analysebeispielen sind willkommen.

flow1

In einem zeitbasierten SQL-Injection-Szenario lässt sich das Verkehrsmuster beispielsweise anhand der Antwortlatenz beobachten: Der Server antwortet nach etwa fünf Sekunden.

flow2

Technologie-Stack

  • Spring Boot
  • Spring Security
  • MyBatis / MyBatis-Plus
  • JPA / Hibernate
  • Thymeleaf
  • Layui
  • MySQL

Bereitstellung

Klonen Sie das Repository:

root@kitploit:~
git clone https://github.com/whgojp/JavaSecLab.git
cd JavaSecLab

git clone

Lokale Bereitstellung mit IDEA

Voraussetzungen:

  • JDK 8
  • MySQL 8.0+
  • Maven
  1. Erstellen Sie die Datenbank und importieren Sie sql/JavaSecLab.sql.

  2. Setzen Sie das aktive Profil in src/main/resources/application.yml auf dev:

    root@kitploit:~
    spring:
      profiles:
        active: dev
    
  3. Aktualisieren Sie die Datenbankverbindung in src/main/resources/application-dev.yml:

    root@kitploit:~
    username: root
    password: QWE123qwe
    url: jdbc:mysql://localhost:13306/JavaSecLab?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true
    
  4. Starten Sie die Anwendung aus IDEA oder mit Maven.

Standardkonto: admin/admin

login

Docker-Bereitstellung

Voraussetzungen:

  • Docker
  • Docker Compose

Option 1: Start mit dem veröffentlichten Image:

root@kitploit:~
docker compose -f docker-compose.image.yml up -d

Option 2: Image lokal bauen und das Labor starten:

root@kitploit:~
mvn clean package -DskipTests
docker compose -p javaseclab up -d

Wenn die Datenbank nach dem Start leer ist, importieren Sie sql/JavaSecLab.sql manuell.

docker deployment

docker deployment

Weitere Bereitstellungsoptionen und Hinweise zur Fehlerbehebung finden Sie im Deployment Guide.

Sicherheitshinweis

JavaSecLab ist ein verwundbares Laborprojekt. Es behält absichtlich gefährliche Endpunkte, verwundbare Abhängigkeiten und unsichere Konfigurationen für Reproduktion und Lehre bei. Betreiben Sie es nur lokal oder in einem isolierten Netzwerk.

Empfohlene Vorsichtsmaßnahmen:

  • Stellen Sie JavaSecLab nicht direkt in einem öffentlichen Netzwerk bereit.
  • Verwenden Sie Wegwerf-Konten, Testdatenbanken und isolierte Container.
  • Binden Sie keine sensiblen Host-Verzeichnisse in den Container ein.
  • Überprüfen Sie exponierte Ports, bevor Sie Docker Compose ausführen.
  • Behandeln Sie hochgeladene Dateien, generierte Dateien und Logs als nicht vertrauenswürdige Daten.

Die sicheren Codebeispiele in diesem Projekt dienen der Lehre und Demonstration. Reale Geschäftssysteme erfordern in der Regel Authentifizierung, Auditing, Rate Limiting, Datenvalidierung, Abhängigkeits-Governance, Monitoring, Alerting und Defense in Depth.

Mitwirken

Issues und Pull Requests sind willkommen. Gute Beiträge umfassen:

  • Neue Schwachstellenszenarien mit klarem verwundbarem und korrigiertem Code
  • Genauere Source-/Sink-Hinweise und Erklärungen zum Code-Audit
  • Bessere Verkehrspakete zu Schwachstellen und Analysenotizen
  • Korrekturen bei der Bereitstellung und Verbesserungen der Dokumentation
  • Verbesserungen an UI und Interaktion, die das Labor lehrreicher machen

Lizenz

Wenn wir von freier Software sprechen, meinen wir Freiheit, nicht den Preis.

JavaSecLab wird unter der Apache License 2.0 veröffentlicht. Details finden Sie in LICENSE.

Star-Verlauf

Star History Chart

Changelog

Siehe Update Log für Versionshinweise und Projektverlauf.

Autor

Blog des Autors: 今天是几号

Wenn Sie sich für Anwendungssicherheit, sichere Entwicklung, SDL, DevSecOps oder Schwachstellenlabore interessieren, treten Sie gerne der Community-Gruppe bei.

WeChat Community group

Sponsoring

Wenn JavaSecLab Ihnen hilft, ist eine Unterstützung willkommen. Die Unterstützung wird für die Wartung der Online-Umgebung und die kontinuierliche Verbesserung des Projekts verwendet.

Sponsor JavaSecLab
Tool herunterladen