Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
JavaSecLab — Laboratório abrangente de vulnerabilidades Java com código vulnerável e corrigido, cenários de ataque, notas de auditoria de source/sink e orientação de codificação segura para treinamento em segurança e avaliação de ferramentas. | Kitploit
Ferramentas/GitHubGitHub/whgojp/javaseclab
Análise Estática de Código (SAST)Análise de VulnerabilidadesAnálise de CódigoSegurança WebCTFTestes de PenetraçãoDevSecOpsAprendizado e EducaçãoLabs e Prática
GitHubwhgojp/javaseclab

JavaSecLab

Laboratório abrangente de vulnerabilidades Java com código vulnerável e corrigido, cenários de ataque, notas de auditoria de source/sink e orientação de codificação segura para treinamento em segurança e avaliação de ferramentas.

881777há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

JavaSecLab - Um Laboratório Abrangente de Vulnerabilidades Java

License Java Version Developed by whgojp GitHub Repo stars GitHub forks

中文文档


Visão Geral

JavaSecLab é um laboratório abrangente de vulnerabilidades Java para aprendizado de segurança de aplicações, prática de auditoria de código, treinamento em desenvolvimento seguro e avaliação de ferramentas de segurança. Construído sobre Spring Boot, ele fornece código vulnerável, implementações corrigidas, cenários de ataque realistas, notas de auditoria orientadas a source e sink, orientações de remediação, explicações de codificação segura e exemplos de análise de tráfego.

O objetivo é prático: ajudar os usuários a entender não apenas como uma vulnerabilidade é explorada, mas também por que ela existe no código e como deve ser corrigida.

home

show

Para Quem É?

  • Equipes de serviços de segurança: explicar causas de vulnerabilidades, caminhos de exploração, correções, fluxos de auditoria e padrões de tráfego.
  • Equipes de segurança corporativa: usar para SDL, DevSecOps, treinamento em desenvolvimento seguro e programas de conscientização em segurança.
  • Pesquisadores de segurança: testar SAST, DAST, IAST, RASP, SCA, xAST, análise de alcançabilidade e outras ferramentas de segurança.
  • Desenvolvedores Java: aprender problemas comuns de segurança de aplicações a partir de código real, em vez de listas de verificação abstratas.

Módulos de Vulnerabilidade

JavaSecLab cobre uma ampla variedade de cenários de segurança web em Java, incluindo:

  • XSS, CSRF, CORS, JSONP, redirecionamento de URL, falsificação de XFF, negação de serviço e injeção de XPath
  • Injeção de SQL, leitura/upload/download/exclusão arbitrária de arquivos, SSRF, XXE e RCE
  • Falhas de lógica de negócios: IDOR, segurança de captcha, segurança de pagamentos e segurança de concorrência
  • Divulgação de informações sensíveis, confronto de login, assinatura de requisições e segurança de credenciais JWT
  • Injeção de SpEL, SSTI e desserialização Java
  • Fastjson, Jackson, XStream, Log4j2, Shiro, SnakeYAML, XMLDecoder e outros casos de componentes/ecossistema
  • Exposição do ecossistema Spring Boot: Swagger, Actuator, Druid, desserialização MySQL JDBC e mais

Demonstração Online

Site de demonstração: http://whgojp.top/

Conta padrão: admin/admin

JavaSecLab é intencionalmente vulnerável e contém endpoints perigosos, dependências vulneráveis e configurações inseguras. Execute sua própria implantação apenas em um ambiente isolado. Não o exponha diretamente à internet pública.

Por Que Este Projeto Existe

O autor trabalhou em funções de segurança corporativa e vivenciou o ciclo de vida completo de vulnerabilidades. Após testes de penetração ou avaliações de segurança, as vulnerabilidades frequentemente são atribuídas às equipes de desenvolvimento por meio de sistemas como TAPD ou Jira. Na prática, duas perguntas surgem repetidamente:

  1. Por que esse comportamento é uma vulnerabilidade?
  2. Como essa vulnerabilidade deve ser corrigida?

JavaSecLab foi criado para conectar o comportamento da vulnerabilidade, o código vulnerável, as abordagens de remediação e o raciocínio de auditoria. Comparado a um relatório apenas textual ou a um PoC, o projeto enfatiza a compreensão das vulnerabilidades sob a perspectiva do código.

Na auditoria de código, um fluxo de trabalho comum é localizar primeiro um sink, como execução de comandos, execução de SQL, acesso a arquivos, renderização de templates, desserialização ou saída de resposta. O auditor então rastreia para trás para identificar o source correspondente, como parâmetros de requisição, cabeçalhos, cookies, arquivos enviados, dados serializados ou conteúdo do banco de dados. Muitos cenários do JavaSecLab são projetados em torno desse caminho source-to-sink, tornando-os úteis tanto para aprendizado quanto para verificação de ferramentas.

O mesmo tipo de vulnerabilidade frequentemente aparece por meio de múltiplos caminhos de acionamento em sistemas reais. Portanto, o JavaSecLab fornece múltiplos cenários para as principais classes de vulnerabilidade sempre que possível, para que os usuários possam comparar como diferentes padrões de codificação, recursos de frameworks e fluxos de negócios afetam o risco.

Análise de Tráfego

JavaSecLab inclui exemplos de análise de tráfego de vulnerabilidades para ajudar os aprendizes a conectar o comportamento de requisição/resposta com a execução do código. Contribuições com pacotes mais claros, melhores notas de reprodução ou exemplos adicionais de análise são bem-vindas.

flow1

Por exemplo, em um cenário de injeção de SQL baseada em tempo, o padrão de tráfego pode ser observado pela latência da resposta: o servidor responde após aproximadamente cinco segundos.

flow2

Stack Tecnológica

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

Implantação

Clone o repositório:

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

git clone

Implantação Local com IDEA

Requisitos:

  • JDK 8
  • MySQL 8.0+
  • Maven
  1. Crie o banco de dados e importe sql/JavaSecLab.sql.

  2. Defina o perfil ativo como dev em src/main/resources/application.yml:

    root@kitploit:~
    spring:
      profiles:
        active: dev
    
  3. Atualize a conexão com o banco de dados em 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. Inicie a aplicação pela IDEA ou com Maven.

Conta padrão: admin/admin

login

Implantação com Docker

Requisitos:

  • Docker
  • Docker Compose

Opção 1: iniciar com a imagem publicada:

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

Opção 2: construir a imagem localmente e iniciar o laboratório:

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

Se o banco de dados estiver vazio após a inicialização, importe manualmente sql/JavaSecLab.sql.

docker deployment

docker deployment

Para mais opções de implantação e notas de solução de problemas, consulte o Guia de Implantação.

Aviso de Segurança

JavaSecLab é um projeto de laboratório vulnerável. Ele mantém intencionalmente endpoints perigosos, dependências vulneráveis e configurações inseguras para reprodução e ensino. Execute-o apenas localmente ou em uma rede isolada.

Precauções recomendadas:

  • Não implante o JavaSecLab diretamente em uma rede pública.
  • Use contas descartáveis, bancos de dados de teste e contêineres isolados.
  • Não monte diretórios sensíveis do host no contêiner.
  • Revise as portas expostas antes de executar o Docker Compose.
  • Trate arquivos enviados, arquivos gerados e logs como dados não confiáveis.

Os exemplos de código seguro neste projeto são para ensino e demonstração. Sistemas de negócios reais geralmente exigem autenticação, auditoria, limitação de taxa, validação de dados, governança de dependências, monitoramento, alertas e defesa em profundidade.

Contribuição

Issues e pull requests são bem-vindos. Boas contribuições incluem:

  • Novos cenários de vulnerabilidade com código vulnerável e corrigido claros
  • Notas mais precisas de source/sink e explicações de auditoria de código
  • Melhores pacotes de tráfego de vulnerabilidades e notas de análise
  • Correções de implantação e melhorias na documentação
  • Melhorias de UI e interação que tornam o laboratório mais fácil de usar para ensino

Licença

Quando falamos de software livre, estamos nos referindo à liberdade, não ao preço.

JavaSecLab é distribuído sob a Apache License 2.0. Consulte LICENSE para detalhes.

Histórico de Estrelas

Star History Chart

Registro de Alterações

Consulte o Registro de Atualizações para notas de versão e histórico do projeto.

Autor

Blog do autor: 今天是几号

Se você tem interesse em segurança de aplicações, desenvolvimento seguro, SDL, DevSecOps ou laboratórios de vulnerabilidades, sinta-se à vontade para participar do grupo da comunidade.

WeChat Community group

Patrocínio

Se o JavaSecLab ajuda você, um patrocínio é bem-vindo. O apoio será usado para manter o ambiente online e melhorar continuamente o projeto.

Sponsor JavaSecLab
Baixar ferramenta