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
SecureCodingDojo — Das Secure Coding Dojo ist eine Plattform zur Vermittlung von Secure-Coding-Wissen. | Kitploit
Tools/GitHubGitHub/owasp/securecodingdojo
SchwachstellenanalyseCode-AnalyseWebsicherheitCTFPenetrationstestsDevSecOpsAuthentifizierungLernen & BildungLabs & Praxis
GitHubowasp/securecodingdojo

SecureCodingDojo

Das Secure Coding Dojo ist eine Plattform zur Vermittlung von Secure-Coding-Wissen.

607159vor 9 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 anzeigen
Webseite

Über das Secure Coding Dojo

Das Secure Coding Dojo ist eine Plattform für die Durchführung von Secure-Coding-Schulungen. Obwohl es mit einer eigenen, verwundbaren Trainingsanwendung (der Insecure.Inc-Website) ausgeliefert wird, kann das Trainingsportal zusammen mit anderen Trainingsanwendungen verwendet werden. Die Stärke der Plattform liegt in ihrer Erweiterbarkeit und der Integration mit der weit verbreiteten Entwicklungs-Kollaborationsplattform Slack. Das Trainingsportal kann einfach in der Cloud eingerichtet werden, und Anweisungen für die Einrichtung mit AWS Elastic Beanstalk finden Sie weiter unten.

Schauen Sie sich für weitere Details zur Bereitstellung und Installation des Dojo auch unbedingt das Wiki an.

Demo

Laden Sie die Demo herunter, um einen Eindruck vom Trainingsportal und der Insecure.Inc-Anwendung zu bekommen.

Werfen Sie auch einen Blick in /screenshots Alt-Text

Ausprobieren

Mit den folgenden Schritten erhalten Sie die Basiskonfiguration für das Dojo. Für erweiterte Konfiguration und Integrationen lesen Sie das Wiki

  • Installieren Sie die neueste Version von Docker.

  • Klonen Sie das Repository mit Git.

  • Wechseln Sie in das Stammverzeichnis des Repositorys.

  • Konfigurieren Sie eine Umgebungsvariable DATA_DIR als Mountpunkt für die Dojo-Dateien. Ändern Sie unter *nix/mac die .bash_profile wie folgt

    export DATA_DIR="/YOUR_DATA_DIR"

  • Auf dem Mac müssen Sie Docker den Zugriff auf dieses Verzeichnis unter Docker > Preferences > File Sharing erlauben.

  • Starten Sie Ihr Terminal neu.

  • Führen Sie Folgendes aus

    docker-compose up

Warum eine weitere Security-Trainings-Website?

Obwohl Open-Source-Trainingsseiten zur Vermittlung von Konzepten der Anwendungssicherheit nicht neu sind, richteten sich diese Seiten bisher an Penetrationstester und ethische Hacker. Das Secure Coding Dojo ist in erster Linie als Bereitstellungsplattform für Entwickler gedacht, und das aus folgenden Gründen:

  • Es integriert Slack für die Authentifizierung.
  • Es ermöglicht die Gruppierung der Teilnehmer nach ihren Entwicklungsteams.
  • Es ermöglicht Teams, den Fortschritt zu verfolgen und miteinander zu konkurrieren.
  • Jede Lektion ist als Angriffs-/Verteidigungspaar aufgebaut. Die Entwickler können die Softwareschwächen beobachten, indem sie den Angriff durchführen, und nach dem Lösen der Herausforderung lernen sie die zugehörigen Software-Verteidigungen (Codeblöcke) kennen.
  • Die vordefinierten Lektionen basieren auf den gefährlichsten Softwarefehlern von MITRE (auch bekannt als SANS 25), sodass der Schwerpunkt auf Softwarefehlern und nicht auf Angriffstechniken liegt.
  • Die vordefinierten Hacking-Herausforderungen sind für Einsteiger konzipiert und halten die Entwickler bei der Stange.
    • Bei anderen Trainingsseiten oder CTFs haben die Herausforderungen einen Rätselaspekt, der für Penetrationstester großartig ist, aber bei manchen Entwicklern dazu führen kann, dass sie das Interesse verlieren. Im Secure Coding Dojo liegt der Fokus auf der Demonstration der Schwachstelle.
    • Es gibt Tipps, die den Entwicklern beim Ausnutzen des Problems helfen, um nicht steckenzubleiben.

SecureCodingDojo und Compliance-Anforderungen

Obwohl wir keine Compliance garantieren, kann die Schulung zur Erfüllung von Compliance-Anforderungen wie PCI 6.5.a eingesetzt werden. Siehe das Insecure.Inc-Curriculum-Dokument zur Zuordnung zu SANS 25 / OWASP Top 10 / PCI 6.5

Voraussetzungen für die Entwicklung

Trainingsportal

  • Installieren Sie VS Code.
  • node/npm (entwickelt mit v10)
  • OPTIONAL: MySQL-Server + My SQL Workbench (entwickelt mit MySQL 5.7)

Insecure.Inc

  • Entwickelt in Java EE
  • Eclipse Java EE in der neuesten Version (entwickelt mit Neon) + Java 1.8 + tomcat 8 für die Insecure.Inc-Trainingsanwendung

Anleitung zur Einrichtung der Entwicklungsumgebung

Trainingsportal

  • Weitere Details im Wiki

Insecure.Inc

  • Weitere Details im Wiki

Erstellung

Trainingsportal

  • Führen Sie das Skript ./buildTrainingPortal.sh aus. Es erstellt ein Docker-Image und ein AWS-Elastic-Beanstalk-Paket.

Insecure.Inc

  • Klicken Sie mit der rechten Maustaste auf das Projekt, um es als .war-Datei zu exportieren, und legen Sie es im Ordner /webapps Ihrer Tomcat-8-Installation ab.

Hosten von Insecure.Inc

Schauen Sie sich das Wiki an.

Bereitstellen des Trainingsportals

Weitere Informationen im Wiki.

Slack-Einrichtungsanleitung

Sie müssen eine Slack-App für die Authentifizierung erstellen.

  • Gehen Sie zu https://api.slack.com/
  • Klicken Sie auf Start Building und folgen Sie den Anweisungen, um eine Slack-App in Ihrem Development-Slack-Team zu erstellen.
  • Sobald Ihre App erstellt ist, können Sie Ihre App-Anmeldedaten abrufen, um Ihre config.json zu konfigurieren.
  • Konfigurieren Sie die Redirect-URLs unter OAuth & Permissions. Bei einer lokalen Einrichtung wäre die Redirect-URL beispielsweise: http://localhost:8081/public/slack/callback

Google-Einrichtungsanleitung

Die Google-Authentifizierung kann ebenfalls in config.json konfiguriert werden. Sie benötigen ein Google-Entwicklerkonto und erhalten die OAuth-Anmeldedaten über die Google-API-Konsole: https://console.developers.google.com

An derselben Stelle richten Sie Ihre Domain und die autorisierten Redirect-URIs ein. Bei einer lokalen Einrichtung wäre die Redirect-URL beispielsweise: http://localhost:8081/public/google/callback

Anleitung zur Einrichtung der lokalen Authentifizierung

Für kleine Teams oder vorkonfigurierte Images sind die Slack- oder Google-Authentifizierung möglicherweise keine Option. Für dieses Szenario können Sie eine Authentifizierung konfigurieren, die mit einer lokalen Flatfile funktioniert.

Weitere Informationen finden Sie im Wiki.

  • Kopieren Sie localUsers.json.sample nach localUsers.json
  • Fügen Sie die Zeile in config.json hinzu, die den localUsersPath angibt.
  • Es gibt mehrere Einschränkungen bei der lokalen Authentifizierung, z. B. fehlende Kontosperrung, Passwortablauf usw.

Anleitung zur DB-Einrichtung

Wenn Sie keine DB konfigurieren, verwendet das Trainingsportal einfach eine lokale SQLite-DB.

Sie können auch MySQL installieren und eine DB sowie Anmeldedaten für diese DB erstellen. Merken Sie sich Ihren Benutzernamen und Ihr Passwort – Sie werden sie später benötigen.

Seeds für Verschlüsselungsschlüssel und Umgebungsvariablen

Sie müssen Verschlüsselungsschlüssel als Betriebssystem-Umgebungsvariablen einrichten. Ändern Sie unter *nix/mac die .bash_profile wie folgt

root@kitploit:~
export ENC_KEY="put something random here"
export ENC_KEY_IV="put something random here"

Das Folgende verhindert, dass Teilnehmer ihre eigenen Challenge-Codes generieren.

root@kitploit:~
export CHALLENGE_MASTER_SALT="put something random here"

Erweiterung des Secure Coding Dojo

Sie können neue Lektionen hinzufügen, indem Sie dem Modell der vorhandenen Lektionen folgen.

Herausforderungen

Herausforderungen sind in ./trainingportal/static/lessons definiert. Die Datei definitions.json verweist auf die entsprechende HTML-Challenge-Beschreibung, den Play-Link und die entsprechenden Codeblöcke anhand der Codeblock-ID. Folgen Sie den bereits definierten Beispielen, um eine neue Lektion zu erstellen.

root@kitploit:~
.
+-- /trainingportal/static/lessons
|   +-- modules.json //configuration file where lesson modules are defined
|   +-- /attack-grams //visual representations of attacks included in challenge descriptions
|   +-- /blackBelt //lesson module
|       +--definitions.json //individual lesson definitions
|       +--cwe494.md // html or markdown file including the lesson description
|       +--cwe494.sol.md //solution for the lesson
|       ....
|       +--quiz.html 
|   +-- /secondDegreeBlackBelt

Codeblöcke

Codeblöcke sind in ./trainingportal/static/codeBlocks definiert. Dieser Ordner hat eine ähnliche Struktur mit einer Definitions-JSON und einer Reihe von HTML-Dateien für jede Herausforderung.

root@kitploit:~
.
+-- /trainingportal/static/codeBlocks
|   +-- codeBlocksDefinitions.json //configuration file where code blocks are defined
|   +-- authenticationByDefault.html //code block description html
|   ...
|   +-- useStrongDataEncryption.html
Tool herunterladen