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
svja — La Super Vulnerable Java Application (SVJA), como se demuestra en el Roniel and DaRon Podcast Show, es una aplicación Apache Struts diseñada para contener una serie de vulnerabilidades muy comunes. A diferencia de otro software "deliberadamente vulnerable", este software está diseñado para imitar las vulnerabilidades comunes de la misma manera en que suelen verse, en lugar de hacerlo de forma excesivamente simplista o al estilo "capture the flag". Este software se actualiza y se amplía de forma semi-rutinaria, con demostraciones de algunas de las vulnerabilidades como parte del podcast. | Kitploit
Herramientas/GitHubGitHub/theronielanddaronpodcastshow/svja
Autenticación y AutorizaciónAnálisis de VulnerabilidadesExplotación de Aplicaciones WebPruebas de Seguridad de APIsSeguridad WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica

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 →
GitHub
theronielanddaronpodcastshow/svja

svja

Ver Repositorio
134hace 7 mesesAún no revisado

Acerca de

La Super Vulnerable Java Application (SVJA), como se demuestra en el Roniel and DaRon Podcast Show, es una aplicación Apache Struts diseñada para contener una serie de vulnerabilidades muy comunes. A diferencia de otro software "deliberadamente vulnerable", este software está diseñado para imitar las vulnerabilidades comunes de la misma manera en que suelen verse, en lugar de hacerlo de forma excesivamente simplista o al estilo "capture the flag". Este software se actualiza y se amplía de forma semi-rutinaria, con demostraciones de algunas de las vulnerabilidades como parte del podcast.

Compartir

svja

La RDPS Super Vulnerable Java Application es exactamente eso: una aplicación Java súper vulnerable creada para que todos puedan ver una variedad de vulnerabilidades comunes y, a menudo, "complejas". Este software se creó como parte del Roniel and DaRon Podcast Show (https://www.youtube.com/channel/UCbj1JFcSJeTuf3qf9GPRemA) para poder analizar y mostrar varias vulnerabilidades que encontrábamos con frecuencia de una manera más realista que la que verás con muchas otras herramientas en línea. Para ver ejemplos de explotación, mira nuestro podcast.

IMPORTANTE

Por favor, recuerda que esta aplicación está diseñada para ser altamente vulnerable a varias cosas. Ten cuidado con dónde la ejecutas, limita quién puede acceder a ella (el servidor Tomcat solo debe escuchar en localhost y solo en tu máquina personal). No somos responsables si no puedes cuidar adecuadamente tus cosas, dejando tu copia expuesta para que cualquiera pueda robarte tus datos o comprometer gravemente tu máquina. Recomendamos que ejecutes esto en una máquina virtual (VM) que esté asegurada, que no tenga nada sensible y que no tenga conectividad a internet. No asegurar correctamente el sistema que ejecuta esto y su instancia probablemente resultará en un mal día para ti. Como las relaciones carnales casuales sin la protección adecuada, solo te estás poniendo en una posición que algún día lamentarás. Considérate advertido, pero animado a jugar ;-)

Requisitos

  • Apache Maven 3.6 o superior
  • Java 21 o superior
  • Tomcat 10.0 o superior

Instalación

La RDPS SVJA se compone de una aplicación Java Struts 2 que ejecuta React. Se construye simplemente ejecutando: mvn clean package

Esto crea un WAR en target -- svja.war. Simplemente coloca el WAR en la carpeta webapps de tu Tomcat. En una instalación predeterminada de Tomcat, ve a http://127.0.0.1:8080/svja para acceder a la aplicación.

Si estás usando Tomcat 10 o superior, agrega <Loader jakartaConverter="TOMCAT" /> a tu archivo de configuración context.xml de Tomcat.

Swagger UI

Para aquellos que quieran usarla para poner las cosas en marcha, la raíz (http://127.0.0.1:8080/svja) ahora incluye Swagger UI y una especificación OpenAPI básica (http://127.0.0.1:8080/svja/specification.yaml) que puedes usar. Ten en cuenta que la especificación, y por tanto Swagger UI, solo araña la superficie (de eso se trata la deserialización insegura, etc., ¿verdad?).

Vulnerabilidades actuales

A continuación se presentan algunas de las vulnerabilidades principales del sistema, por acción.

  1. /api/authenticate
    • Falsificación de solicitudes entre sitios (CSRF)
    • Denegación de servicio (DOS)
    • Deserialización insegura (OGNL, Struts, JSON -- sin bytecode)
      • Creación arbitraria de objetos
      • Llamada arbitraria a métodos
      • Secuestro de sesión
      • Omisión de sesión
      • Omisión de autenticación
    • Inyección de logs
    • Datos sensibles en la URL
  2. /api/authenticate/federated
    • Falsificación de solicitudes entre sitios (CSRF)
    • Denegación de servicio (DOS)
    • Deserialización insegura (OGNL, Struts, JSON -- sin bytecode)
      • Creación arbitraria de objetos
      • Llamada arbitraria a métodos
      • Secuestro de sesión
      • Omisión de sesión
      • Omisión de autenticación
    • Inyección de logs
    • Inyección de expresiones regulares
      • Omisión de autenticación
      • Denegación de servicio
  3. /api/files
    • Falsificación de solicitudes entre sitios (CSRF)
    • Cross-site scripting (XSS) mediante codificación
    • Denegación de servicio (DOS)
    • Deserialización insegura (OGNL, Struts, JSON -- sin bytecode)
      • Path traversal (solo lectura)
      • Creación arbitraria de objetos
      • Llamada arbitraria a métodos
      • Secuestro de sesión
      • Omisión de sesión
      • Omisión de autenticación
      • Referencia directa insegura a objetos
    • Serialización insegura
      • Fuga de información personal identificable (PII)
      • Fuga de información sensible
    • Inyección de logs
    • Condición de carrera
      • Tiempo de comprobación, tiempo de uso (TOCTOU)
    • Datos sensibles en la URL
  4. /api/projects
    • Inyección de valores separados por comas (CSV)
      • Inyección arbitraria de CSV
      • Ataques del lado del cliente
    • Falsificación de solicitudes entre sitios (CSRF)
    • Cross-site scripting (XSS) mediante codificación Denegación de servicio (DOS)
    • Deserialización insegura (OGNL, Struts, JSON -- sin bytecode)
      • Path traversal (solo lectura)
      • Creación arbitraria de objetos
      • Llamada arbitraria a métodos
      • Secuestro de sesión
      • Omisión de sesión
      • Omisión de autenticación

Usuarios instalados por defecto

root@kitploit:~
admin:admin (application administrator account)
bill:baker (privileged user account)
bob:barker (basic, read-only user account)

Iniciar sesión en el sistema

root@kitploit:~
/api/authenticate?user.username=admin&user.password=admin
/api/authenticate?user.username=bill&user.password=baker
/api/authenticate?user.username=bob&user.password=barker

Después de autenticarte, accede a la acción que quieras usando JSON o Struts

Ejemplo de solicitud de autenticación Struts

root@kitploit:~
GET /svja/api/authenticate?user.username=bill&user.password=baker HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Length: 0
DNT: 1
Connection: close
Cache-Control: max-age=0


Ejemplo de solicitud de autenticación JSON

root@kitploit:~
GET /svja/api/authenticate HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 61
DNT: 1
Connection: close
Cache-Control: max-age=0

{
  "user": {
    "username": "bill",
    "password": "baker"
  }
}

Ejemplo de solicitud de autenticación "federada" de Struts

root@kitploit:~
GET /svja/api/authenticate/federated?user.username=bill%40rdps.local&usernameTranslationRegex=%2F%40rdps%5B.%5Dlocal%2F%2F HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Length: 0
DNT: 1
Connection: close
Cache-Control: max-age=0


Ejemplo de solicitud de autenticación "federada" JSON

root@kitploit:~
GET /svja/api/authenticate/federated HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Host: localhost
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 61
DNT: 1
Connection: close
Cache-Control: max-age=0

{
  "user": {
    "username": "[email protected]"
  },
  "usernameTranslationRegex": "/@rdps[.]local//"
}

Ejemplo de solicitud Struts

Recuerda cambiar el svjatoken

root@kitploit:~
GET /svja/api/projects?projectId=1 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Cookie: svjatoken=RaMu5vhFBgL8goV6Ja1ffLnpmcixNuAL7fUP;
Cache-Control: max-age=0


Ejemplo de solicitud JSON

Recuerda cambiar el svjatoken

root@kitploit:~
GET /svja/api/projects HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: application/json, text/plain, */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 19
DNT: 1
Connection: close
Cookie: svjatoken=RaMu5vhFBgL8goV6Ja1ffLnpmcixNuAL7fUP;
Cache-Control: max-age=0

{
  projectId:1
}

Recuerda

Esto es un trabajo en curso y tenemos muchas más vulnerabilidades y cosas planeadas (incluido un frontend súper vulnerable y otras aplicaciones súper vulnerables). Vuelve a consultarnos cada par de meses y mira el Roniel and DaRon Podcast Show para ver actualizaciones, ejemplos de explotación y otras ideas. También te animamos a intentar descubrir cómo mitigar o corregir las vulnerabilidades... romper cosas es fácil... mitigar, corregir y asegurar es lo difícil. ¡Buena suerte y feliz caza!

Descargar herramienta
  • Referencia directa insegura a objetos
  • Serialización insegura
    • Fuga de información personal identificable (PII)
    • Fuga de información sensible
  • Inyección de logs
  • Datos sensibles en la URL
  • Inyección XLSX
    • Inyección arbitraria de XML
    • Ataques del lado del cliente
  • /api/reflect
    • Uso de reflexión
    • Deserialización insegura (OGNL, Struts, JSON -- sin bytecode)
      • Path traversal (solo lectura)
      • Creación arbitraria de objetos
      • Llamada arbitraria a métodos
      • Secuestro de sesión
      • Omisión de sesión
      • Omisión de autenticación
      • Referencia directa insegura a objetos
    • Serialización insegura
      • Fuga de información personal identificable (PII)
      • Fuga de información sensible
    • Inyección de logs
  • /api/supersecret
    • Modo de cifrado débil
    • Padding oracle
    • Uso de reflexión
    • Deserialización insegura (OGNL, Struts, JSON)
      • Path traversal (solo lectura)
      • Creación arbitraria de objetos
      • Llamada arbitraria a métodos
      • Secuestro de sesión
      • Omisión de sesión
      • Omisión de autenticación
      • Referencia directa insegura a objetos
    • Serialización insegura
      • Fuga de información personal identificable (PII)
      • Fuga de información sensible
    • Inyección de logs