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
JavaSecLab — Laboratorio completo sulle vulnerabilità Java con codice vulnerabile e corretto, scenari di attacco, note di audit source/sink e linee guida per la codifica sicura per la formazione sulla sicurezza e la valutazione degli strumenti. | Kitploit
Strumenti/GitHubGitHub/whgojp/javaseclab
Analisi Statica del Codice (SAST)Analisi delle VulnerabilitàAnalisi del CodiceSicurezza WebCTFPenetration TestingDevSecOpsApprendimento e FormazioneLab e Pratica
GitHubwhgojp/javaseclab

JavaSecLab

Laboratorio completo sulle vulnerabilità Java con codice vulnerabile e corretto, scenari di attacco, note di audit source/sink e linee guida per la codifica sicura per la formazione sulla sicurezza e la valutazione degli strumenti.

8817773 mesi faRevisionato da Kitploit

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
Vedi RepositorySito web

JavaSecLab - Un laboratorio completo sulle vulnerabilità Java

License Java Version Developed by whgojp GitHub Repo stars GitHub forks

Documentazione in cinese


Panoramica

JavaSecLab è un laboratorio completo sulle vulnerabilità Java per l'apprendimento della sicurezza applicativa, la pratica del code audit, la formazione allo sviluppo sicuro e la valutazione degli strumenti di sicurezza. Basato su Spring Boot, fornisce codice vulnerabile, implementazioni corrette, scenari di attacco realistici, note orientate all'audit su source e sink, indicazioni di remediation, spiegazioni di secure coding ed esempi di analisi del traffico.

L'obiettivo è pratico: aiutare gli utenti a capire non solo come una vulnerabilità viene sfruttata, ma anche perché esiste nel codice e come dovrebbe essere corretta.

home

show

A chi è rivolto?

  • Team di security service: spiegare cause delle vulnerabilità, percorsi di sfruttamento, correzioni, flussi di audit e pattern di traffico.
  • Team di sicurezza aziendale: utilizzarlo per SDL, DevSecOps, formazione allo sviluppo sicuro e programmi di security awareness.
  • Ricercatori di sicurezza: testare SAST, DAST, IAST, RASP, SCA, xAST, analisi di raggiungibilità e altri strumenti di sicurezza.
  • Sviluppatori Java: apprendere i comuni problemi di sicurezza applicativa da codice reale invece che da checklist astratte.

Moduli sulle vulnerabilità

JavaSecLab copre un'ampia gamma di scenari di sicurezza web Java, tra cui:

  • XSS, CSRF, CORS, JSONP, reindirizzamento URL, spoofing XFF, denial of service e XPath injection
  • SQL injection, lettura/scrittura/caricamento/cancellazione arbitraria di file, SSRF, XXE e RCE
  • Flaw di logica di business: IDOR, sicurezza dei captcha, sicurezza dei pagamenti e sicurezza della concorrenza
  • Divulgazione di informazioni sensibili, login confrontation, firma delle richieste e sicurezza delle credenziali JWT
  • SpEL injection, SSTI e deserializzazione Java
  • Fastjson, Jackson, XStream, Log4j2, Shiro, SnakeYAML, XMLDecoder e altri casi di componenti/ecosistemi
  • Esposizione dell'ecosistema Spring Boot: Swagger, Actuator, Druid, deserializzazione MySQL JDBC e altro

Demo online

Sito demo: http://whgojp.top/

Account predefinito: admin/admin

JavaSecLab è intenzionalmente vulnerabile e contiene endpoint pericolosi, dipendenze vulnerabili e configurazioni non sicure. Esegui la tua distribuzione solo in un ambiente isolato. Non esporlo direttamente a Internet pubblico.

Perché esiste questo progetto

L'autore ha lavorato in ruoli di sicurezza aziendale e ha vissuto l'intero ciclo di vita delle vulnerabilità. Dopo penetration test o valutazioni di sicurezza, le vulnerabilità vengono spesso assegnate ai team di sviluppo tramite sistemi come TAPD o Jira. In pratica, emergono ripetutamente due domande:

  1. Perché questo comportamento è una vulnerabilità?
  2. Come dovrebbe essere corretta questa vulnerabilità?

JavaSecLab è stato creato per collegare comportamento della vulnerabilità, codice vulnerabile, approcci di remediation e pensiero da audit. Rispetto a un report solo testuale o a un PoC, il progetto enfatizza la comprensione delle vulnerabilità dal punto di vista del codice.

Nel code auditing, un flusso di lavoro comune consiste nel localizzare prima un sink, come esecuzione di comandi, esecuzione SQL, accesso a file, rendering di template, deserializzazione o output di risposta. L'auditor risale poi a ritroso per identificare la corrispondente source, come parametri di richiesta, header, cookie, file caricati, dati serializzati o contenuto del database. Molti scenari di JavaSecLab sono progettati attorno a questo percorso source-to-sink, rendendoli utili sia per l'apprendimento sia per la verifica degli strumenti.

Lo stesso tipo di vulnerabilità spesso si manifesta attraverso molteplici percorsi di attivazione nei sistemi reali. JavaSecLab fornisce quindi, ove possibile, molteplici scenari per le classi di vulnerabilità principali, così che gli utenti possano confrontare come diversi pattern di codifica, funzionalità dei framework e flussi di business influenzino il rischio.

Analisi del traffico

JavaSecLab include esempi di analisi del traffico delle vulnerabilità per aiutare gli studenti a collegare il comportamento request/response con l'esecuzione del codice. Sono benvenuti contributi con pacchetti più chiari, note di riproduzione migliori o ulteriori esempi di analisi.

flow1

Ad esempio, in uno scenario di SQL injection time-based, il pattern di traffico può essere osservato tramite la latenza della risposta: il server risponde dopo circa cinque secondi.

flow2

Stack tecnologico

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

Distribuzione

Clona il repository:

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

git clone

Distribuzione locale con IDEA

Requisiti:

  • JDK 8
  • MySQL 8.0+
  • Maven
  1. Crea il database e importa sql/JavaSecLab.sql.

  2. Imposta il profilo attivo su dev in src/main/resources/application.yml:

    root@kitploit:~
    spring:
      profiles:
        active: dev
    
  3. Aggiorna la connessione al database 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. Avvia l'applicazione da IDEA o con Maven.

Account predefinito: admin/admin

login

Distribuzione con Docker

Requisiti:

  • Docker
  • Docker Compose

Opzione 1: avvia con l'immagine pubblicata:

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

Opzione 2: compila l'immagine localmente e avvia il laboratorio:

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

Se il database è vuoto dopo l'avvio, importa manualmente sql/JavaSecLab.sql.

docker deployment

docker deployment

Per ulteriori opzioni di distribuzione e note sulla risoluzione dei problemi, consulta la Guida alla distribuzione.

Avviso di sicurezza

JavaSecLab è un progetto di laboratorio vulnerabile. Mantiene intenzionalmente endpoint pericolosi, dipendenze vulnerabili e configurazioni non sicure per la riproduzione e la didattica. Eseguilo solo localmente o in una rete isolata.

Precauzioni consigliate:

  • Non distribuire JavaSecLab direttamente su una rete pubblica.
  • Usa account usa e getta, database di test e container isolati.
  • Non montare directory host sensibili nel container.
  • Controlla le porte esposte prima di eseguire Docker Compose.
  • Tratta i file caricati, i file generati e i log come dati non attendibili.

Gli esempi di codice sicuro in questo progetto sono a scopo didattico e dimostrativo. I sistemi di business reali di solito richiedono autenticazione, auditing, rate limiting, validazione dei dati, governance delle dipendenze, monitoraggio, alerting e difesa in profondità.

Contribuire

Issue e pull request sono benvenute. Buoni contributi includono:

  • Nuovi scenari di vulnerabilità con codice vulnerabile e corretto chiaro
  • Note source/sink più accurate e spiegazioni di code-audit
  • Pacchetti di traffico delle vulnerabilità e note di analisi migliori
  • Correzioni alla distribuzione e miglioramenti alla documentazione
  • Miglioramenti a UI e interazione che rendono il laboratorio più facile da usare per la didattica

Licenza

Quando parliamo di software libero, ci riferiamo alla libertà, non al prezzo.

JavaSecLab è rilasciato sotto la Apache License 2.0. Vedi LICENSE per i dettagli.

Star History

Star History Chart

Changelog

Consulta il Registro aggiornamenti per le note di rilascio e la cronologia del progetto.

Autore

Blog dell'autore: 今天是几号

Se sei interessato alla sicurezza applicativa, allo sviluppo sicuro, SDL, DevSecOps o ai laboratori sulle vulnerabilità, unisciti pure al gruppo della community.

WeChat Community group

Sponsorizzazione

Se JavaSecLab ti è utile, una sponsorizzazione è apprezzata. Il supporto sarà utilizzato per mantenere l'ambiente online e migliorare continuamente il progetto.

Sponsor JavaSecLab
Scarica lo strumento