Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
JavaSecLab — Laboratorio integral de vulnerabilidades en Java con código vulnerable y corregido, escenarios de ataque, notas de auditoría de fuentes/sinks y guía de codificación segura para formación en seguridad y evaluación de herramientas. | Kitploit
Herramientas/GitHubGitHub/whgojp/javaseclab
Análisis Estático de Código (SAST)Análisis de VulnerabilidadesAnálisis de CódigoSeguridad WebCTFPruebas de PenetraciónDevSecOpsAprendizaje y EducaciónLabs y Práctica
GitHubwhgojp/javaseclab

JavaSecLab

Laboratorio integral de vulnerabilidades en Java con código vulnerable y corregido, escenarios de ataque, notas de auditoría de fuentes/sinks y guía de codificación segura para formación en seguridad y evaluación de herramientas.

881777hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver RepositorioSitio web

JavaSecLab - Un laboratorio integral de vulnerabilidades de Java

License Java Version Developed by whgojp GitHub Repo stars GitHub forks

中文文档


Descripción general

JavaSecLab es un laboratorio integral de vulnerabilidades de Java para el aprendizaje de seguridad de aplicaciones, la práctica de auditoría de código, la formación en desarrollo seguro y la evaluación de herramientas de seguridad. Construido sobre Spring Boot, proporciona código vulnerable, implementaciones corregidas, escenarios de ataque realistas, notas de auditoría orientadas a fuentes y sumideros, guías de remediación, explicaciones de codificación segura y ejemplos de análisis de tráfico.

El objetivo es práctico: ayudar a los usuarios a comprender no solo cómo se explota una vulnerabilidad, sino también por qué existe en el código y cómo debería corregirse.

home

show

¿Para quién es?

  • Equipos de servicios de seguridad: explican las causas de las vulnerabilidades, las rutas de explotación, las correcciones, los flujos de auditoría y los patrones de tráfico.
  • Equipos de seguridad empresarial: lo utilizan para SDL, DevSecOps, formación en desarrollo seguro y programas de concienciación en seguridad.
  • Investigadores de seguridad: prueban SAST, DAST, IAST, RASP, SCA, xAST, análisis de alcanzabilidad y otras herramientas de seguridad.
  • Desarrolladores de Java: aprenden problemas comunes de seguridad de aplicaciones a partir de código real en lugar de listas de verificación abstractas.

Módulos de vulnerabilidades

JavaSecLab cubre una amplia gama de escenarios de seguridad web en Java, incluidos:

  • XSS, CSRF, CORS, JSONP, redirección de URL, suplantación de XFF, denegación de servicio e inyección XPath
  • Inyección SQL, lectura/carga/descarga/eliminación arbitraria de archivos, SSRF, XXE y RCE
  • Fallos de lógica de negocio: IDOR, seguridad de captcha, seguridad de pagos y seguridad de concurrencia
  • Divulgación de información sensible, confrontación de inicio de sesión, firma de solicitudes y seguridad de credenciales JWT
  • Inyección SpEL, SSTI y deserialización de Java
  • Fastjson, Jackson, XStream, Log4j2, Shiro, SnakeYAML, XMLDecoder y otros casos de componentes/ecosistema
  • Exposición del ecosistema Spring Boot: Swagger, Actuator, Druid, deserialización de MySQL JDBC y más

Demostración en línea

Sitio de demostración: http://whgojp.top/

Cuenta predeterminada: admin/admin

JavaSecLab es intencionalmente vulnerable y contiene endpoints peligrosos, dependencias vulnerables y configuraciones inseguras. Ejecute su propio despliegue solo en un entorno aislado. No lo exponga directamente a Internet público.

Por qué existe este proyecto

El autor ha trabajado en roles de seguridad empresarial y ha experimentado el ciclo de vida completo de las vulnerabilidades. Después de las pruebas de penetración o las evaluaciones de seguridad, las vulnerabilidades a menudo se asignan a los equipos de desarrollo a través de sistemas como TAPD o Jira. En la práctica, surgen repetidamente dos preguntas:

  1. ¿Por qué este comportamiento es una vulnerabilidad?
  2. ¿Cómo debería corregirse esta vulnerabilidad?

JavaSecLab se creó para conectar el comportamiento de la vulnerabilidad, el código vulnerable, los enfoques de remediación y el pensamiento de auditoría. En comparación con un informe solo de texto o un PoC, el proyecto enfatiza la comprensión de las vulnerabilidades desde la perspectiva del código.

En la auditoría de código, un flujo de trabajo común es localizar primero un sumidero (sink), como la ejecución de comandos, la ejecución de SQL, el acceso a archivos, la representación de plantillas, la deserialización o la salida de respuesta. Luego, el auditor rastrea hacia atrás para identificar la fuente (source) correspondiente, como parámetros de solicitud, encabezados, cookies, archivos cargados, datos serializados o contenido de la base de datos. Muchos escenarios de JavaSecLab están diseñados en torno a esta ruta de fuente a sumidero, lo que los hace útiles tanto para el aprendizaje como para la verificación de herramientas.

El mismo tipo de vulnerabilidad a menudo aparece a través de múltiples rutas de activación en sistemas reales. Por lo tanto, JavaSecLab proporciona múltiples escenarios para las clases de vulnerabilidad principales cuando es posible, de modo que los usuarios puedan comparar cómo los diferentes patrones de codificación, características del framework y flujos de negocio afectan el riesgo.

Análisis de tráfico

JavaSecLab incluye ejemplos de análisis de tráfico de vulnerabilidades para ayudar a los estudiantes a conectar el comportamiento de solicitud/respuesta con la ejecución del código. Se aceptan contribuciones con paquetes más claros, mejores notas de reproducción o ejemplos de análisis adicionales.

flow1

Por ejemplo, en un escenario de inyección SQL basada en tiempo, el patrón de tráfico se puede observar a través de la latencia de respuesta: el servidor responde después de aproximadamente cinco segundos.

flow2

Stack tecnológico

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

Despliegue

Clonar el repositorio:

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

git clone

Despliegue local con IDEA

Requisitos:

  • JDK 8
  • MySQL 8.0+
  • Maven
  1. Cree la base de datos e importe sql/JavaSecLab.sql.

  2. Establezca el perfil activo en dev en src/main/resources/application.yml:

    root@kitploit:~
    spring:
      profiles:
        active: dev
    
  3. Actualice la conexión a la base de datos en 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 la aplicación desde IDEA o con Maven.

Cuenta predeterminada: admin/admin

login

Despliegue con Docker

Requisitos:

  • Docker
  • Docker Compose

Opción 1: iniciar con la imagen publicada:

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

Opción 2: construir la imagen localmente e iniciar el laboratorio:

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

Si la base de datos está vacía después del inicio, importe manualmente sql/JavaSecLab.sql.

docker deployment

docker deployment

Para obtener más opciones de despliegue y notas de solución de problemas, consulte la Guía de despliegue.

Aviso de seguridad

JavaSecLab es un proyecto de laboratorio vulnerable. Mantiene intencionalmente endpoints peligrosos, dependencias vulnerables y configuraciones inseguras para la reproducción y la enseñanza. Ejecútelo solo localmente o en una red aislada.

Precauciones recomendadas:

  • No despliegue JavaSecLab directamente en una red pública.
  • Utilice cuentas desechables, bases de datos de prueba y contenedores aislados.
  • No monte directorios sensibles del host en el contenedor.
  • Revise los puertos expuestos antes de ejecutar Docker Compose.
  • Trate los archivos cargados, los archivos generados y los registros como datos no confiables.

Los ejemplos de código seguro en este proyecto son para enseñanza y demostración. Los sistemas empresariales reales generalmente requieren autenticación, auditoría, limitación de velocidad, validación de datos, gobernanza de dependencias, monitoreo, alertas y defensa en profundidad.

Contribuciones

Se aceptan issues y pull requests. Las buenas contribuciones incluyen:

  • Nuevos escenarios de vulnerabilidad con código vulnerable y corregido claro
  • Notas más precisas de fuente/sumidero y explicaciones de auditoría de código
  • Mejores paquetes de tráfico de vulnerabilidades y notas de análisis
  • Correcciones de despliegue y mejoras de documentación
  • Mejoras de UI e interacción que faciliten la enseñanza con el laboratorio

Licencia

Cuando hablamos de software libre, nos referimos a la libertad, no al precio.

JavaSecLab se publica bajo la Apache License 2.0. Consulte LICENSE para más detalles.

Historial de estrellas

Star History Chart

Registro de cambios

Consulte el Registro de actualizaciones para notas de la versión e historial del proyecto.

Autor

Blog del autor: 今天是几号

Si está interesado en seguridad de aplicaciones, desarrollo seguro, SDL, DevSecOps o laboratorios de vulnerabilidades, no dude en unirse al grupo de la comunidad.

WeChat Community group

Patrocinio

Si JavaSecLab le ayuda, se agradece el patrocinio. El apoyo se utilizará para mantener el entorno en línea y mejorar continuamente el proyecto.

Sponsor JavaSecLab
Descargar herramienta