Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SecureCodingDojo — Il Secure Coding Dojo è una piattaforma per diffondere conoscenze di codifica sicura. | Kitploit
Strumenti/GitHubGitHub/owasp/securecodingdojo
Analisi delle VulnerabilitàAnalisi del CodiceSicurezza WebCTFPenetration TestingDevSecOpsAutenticazioneApprendimento e FormazioneLab e Pratica
GitHubowasp/securecodingdojo

SecureCodingDojo

Il Secure Coding Dojo è una piattaforma per diffondere conoscenze di codifica sicura.

60715959 mesi faRevisionato da Kitploit
Vedi Repository
Sito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Informazioni sul Secure Coding Dojo

Il Secure Coding Dojo è una piattaforma per fornire formazione sulla codifica sicura. Sebbene includa una propria applicazione di formazione vulnerabile (il sito Insecure.Inc), il portale di formazione può essere utilizzato insieme ad altre applicazioni di formazione. Il punto di forza della piattaforma è la sua estensibilità e l'integrazione con la piattaforma di collaborazione di sviluppo comunemente usata Slack. Il portale di formazione può essere facilmente configurato nel cloud e le istruzioni per la configurazione su AWS Elastic Beanstalk sono disponibili di seguito.

Assicurati di dare un'occhiata anche al wiki per maggiori dettagli su come distribuire e installare il Dojo.

Demo

Scarica la demo per avere un'idea del portale di formazione e dell'applicazione Insecure.Inc.

Dai anche un'occhiata in /screenshots Alt text

Provalo

I seguenti passaggi ti daranno la configurazione di base per il Dojo. Per configurazioni avanzate e integrazioni, consulta il wiki

  • Installa l'ultima versione di Docker.

  • Clona il repository con Git

  • Spostati nella directory principale del repository

Configura una variabile d'ambiente DATA_DIR come punto di mount per i file del dojo. Su *nix/mac modifica .bash_profile come segue

export DATA_DIR="/YOUR_DATA_DIR"

  • Su Mac devi consentire l'accesso di Docker a questa directory in Docker > Preferenze > Condivisione file

  • Riavvia il terminale

  • Esegui con

    docker-compose up

  • Perché un altro sito di formazione sulla sicurezza?

    Sebbene i siti open source per insegnare concetti di sicurezza applicativa non siano nuovi, il pubblico target di questi siti è stato quello dei penetration tester e degli hacker etici. Il Secure Coding Dojo è pensato principalmente come piattaforma di erogazione per sviluppatori, ed ecco perché:

    • Si integra con Slack per l'autenticazione
    • Permette di raggruppare i partecipanti in base ai loro team di sviluppo
    • Permette ai team di tracciare i progressi e competere tra loro
    • Ogni lezione è costruita come una coppia attacco/difesa. Gli sviluppatori possono osservare le debolezze software conducendo l'attacco e dopo aver risolto la sfida imparano le difese software associate (blocchi di codice)
    • Le lezioni predefinite si basano sugli errori software più pericolosi di MITRE (noti anche come SANS 25), quindi l'attenzione è sugli errori software piuttosto che sulle tecniche di attacco
    • Le sfide di hacking predefinite sono create per il livello base e mantengono coinvolti gli sviluppatori
      • In altri siti di formazione o CTF, le sfide hanno un aspetto enigmistico che va bene per il pubblico dei penetration tester, ma può far perdere interesse ad alcuni sviluppatori. Nel Secure Coding Dojo l'attenzione è sulla dimostrazione della vulnerabilità.
      • Ci sono suggerimenti che aiutano gli sviluppatori mentre sfruttano il problema, per evitare che si blocchino.

    SecureCodingDojo e requisiti di conformità

    Sebbene non garantiamo la conformità, la formazione potrebbe essere utilizzata per soddisfare requisiti normativi come PCI 6.5.a. Vedi il documento del curriculum di Insecure.Inc sulla mappatura con SANS 25 / OWASP Top 10 / PCI 6.5

    Prerequisiti per lo sviluppo

    Portale di formazione

    • Installa VS Code
    • node/npm (sviluppato con v10)
    • OPZIONALE: server MySQL + MySQL Workbench (sviluppato con MySQL 5.7)

    Insecure.Inc

    • Sviluppato in Java EE
    • Ultima versione di Eclipse Java EE (sviluppato con Neon) + Java 1.8 + tomcat 8 per l'app di formazione Insecure.Inc

    Istruzioni per la configurazione dell'ambiente di sviluppo

    Portale di formazione

    • Maggiori dettagli sul wiki

    Insecure.inc

    • Maggiori dettagli sul wiki

    Compilazione

    Portale di formazione

    • Esegui lo script ./buildTrainingPortal.sh. Creerà un'immagine Docker e un pacchetto AWS Elastic Beanstalk

    Insecure.Inc

    • Fai clic con il tasto destro sul progetto per esportarlo come file .war e inseriscilo nella cartella /webapps della tua installazione di Tomcat 8.

    Ospitare Insecure.Inc

    Consulta il wiki.

    Distribuire il portale di formazione

    Maggiori informazioni sul wiki.

    Istruzioni per la configurazione di Slack

    Dovrai creare un'app Slack per l'autenticazione.

    • Vai su https://api.slack.com/
    • Premi "Start Building" e segui le istruzioni per creare un'app Slack nel tuo team di sviluppo Slack
    • Una volta creata l'app, potrai ottenere le credenziali dell'app per configurare il tuo config.json
    • Configura gli URL di reindirizzamento in OAuth & Permissions. Ad esempio, per una configurazione localhost, l'URL di reindirizzamento sarebbe: http://localhost:8081/public/slack/callback

    Istruzioni per la configurazione di Google

    L'autenticazione Google può essere configurata anche nel config.json. Avrai bisogno di un account sviluppatore Google e di ottenere le credenziali OAuth dalla console API di Google: https://console.developers.google.com

    Nella stessa console configurerai il tuo dominio e gli URI di reindirizzamento autorizzati. Ad esempio, per una configurazione localhost, l'URL di reindirizzamento sarebbe: http://localhost:8081/public/google/callback

    Istruzioni per la configurazione dell'autenticazione locale

    Per team piccoli o immagini preconfigurate, l'autenticazione tramite Slack o Google potrebbe non essere un'opzione. In questo scenario puoi configurare l'autenticazione utilizzando un file flat locale.

    Consulta il wiki per maggiori informazioni.

    • Copia localUsers.json.sample in localUsers.json
    • Aggiungi la riga in config.json che specifica localUsersPath
    • Ci sono diverse limitazioni con l'autenticazione locale, come la mancanza di blocco dell'account, scadenza della password, ecc.

    Istruzioni per la configurazione del DB

    Se non configuri un DB, il portale di formazione utilizzerà un database SQLite locale

    Puoi anche installare MySQL e creare un DB con le relative credenziali. Prendi nota del nome utente e della password: ti serviranno in seguito.

    Seed delle chiavi di crittografia e variabili d'ambiente

    Dovrai impostare le chiavi di crittografia come variabili d'ambiente del sistema operativo. Su *nix/mac modifica .bash_profile come segue

    root@kitploit:~
    export ENC_KEY="metti qualcosa di casuale qui"
    export ENC_KEY_IV="metti qualcosa di casuale qui"
    

    Quanto segue serve per impedire ai partecipanti di generare i propri codici sfida.

    root@kitploit:~
    export CHALLENGE_MASTER_SALT="metti qualcosa di casuale qui"
    

    Estendere il Secure Coding Dojo

    Puoi aggiungere nuove lezioni seguendo il modello di quelle esistenti.

    Sfide

    Le sfide sono definite in ./trainingportal/static/lessons Il file definitions.json punta alla corrispondente descrizione della sfida in html, al link di gioco e ai corrispondenti blocchi di codice tramite ID blocco di codice. Segui gli esempi già definiti per crearne uno nuovo.

    root@kitploit:~
    .
    +-- /trainingportal/static/lessons
    |   +-- modules.json //file di configurazione in cui sono definiti i moduli delle lezioni
    |   +-- /attack-grams //rappresentazioni visive degli attacchi incluse nelle descrizioni delle sfide
    |   +-- /blackBelt //modulo lezione
    |       +--definitions.json //definizioni delle singole lezioni
    |       +--cwe494.md //file html o markdown contenente la descrizione della lezione
    |       +--cwe494.sol.md //soluzione della lezione
    |       ....
    |       +--quiz.html 
    |   +-- /secondDegreeBlackBelt
    

    Blocchi di codice

    I blocchi di codice sono definiti in ./trainingportal/static/codeBlocks. Questa cartella ha una struttura simile: un json di definizione e una serie di file html per ogni sfida.

    root@kitploit:~
    .
    +-- /trainingportal/static/codeBlocks
    |   +-- codeBlocksDefinitions.json //file di configurazione in cui sono definiti i blocchi di codice
    |   +-- authenticationByDefault.html //file html di descrizione del blocco di codice
    |   ...
    |   +-- useStrongDataEncryption.html
    
    Scarica lo strumento