Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
svja — The Super Vulnerable Java Application (SVJA), comme démontré dans le Roniel and DaRon Podcast Show, est une application Apache Struts conçue pour contenir un certain nombre de vulnérabilités très courantes. Contrairement aux autres logiciels « volontairement vulnérables », ce logiciel est conçu pour imiter les vulnérabilités courantes telles qu'elles sont souvent observées, plutôt que de manière trop simpliste ou davantage « capture the flag ». Ce logiciel est mis à jour et enrichi de manière semi-régulière, avec des démonstrations de certaines de ses vulnérabilités dans le cadre du podcast. | Kitploit
Outils/GitHubGitHub/theronielanddaronpodcastshow/svja
Authentification et AutorisationAnalyse des VulnérabilitésExploitation d'Applications WebTests de Sécurité des APISécurité WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHub
theronielanddaronpodcastshow/svja

svja

Voir le dépôt
134il y a 7 moisPas encore vérifié

À propos

The Super Vulnerable Java Application (SVJA), comme démontré dans le Roniel and DaRon Podcast Show, est une application Apache Struts conçue pour contenir un certain nombre de vulnérabilités très courantes. Contrairement aux autres logiciels « volontairement vulnérables », ce logiciel est conçu pour imiter les vulnérabilités courantes telles qu'elles sont souvent observées, plutôt que de manière trop simpliste ou davantage « capture the flag ». Ce logiciel est mis à jour et enrichi de manière semi-régulière, avec des démonstrations de certaines de ses vulnérabilités dans le cadre du podcast.

Partager

svja

L'application Java super vulnérable RDPS n'est rien d'autre que cela -- une application Java super vulnérable créée au bénéfice de tous pour montrer une variété de vulnérabilités courantes, souvent « complexes ». Ce logiciel a été créé dans le cadre de l'émission Roniel et DaRon Podcast Show (https://www.youtube.com/channel/UCbj1JFcSJeTuf3qf9GPRemA) afin que nous puissions discuter et montrer un certain nombre de vulnérabilités que nous rencontrions fréquemment, d'une manière plus réaliste que ce que vous verrez avec les nombreux autres outils en ligne. Pour voir des exemples d'exploitation, veuillez regarder notre podcast.

IMPORTANT

Veuillez vous rappeler que cette application est conçue pour être hautement vulnérable à un certain nombre de choses. Soyez prudent quant à l'endroit où vous l'exécutez, limitez qui peut y accéder (le serveur Tomcat ne doit écouter que sur localhost et uniquement sur votre machine personnelle). Nous ne sommes pas responsables si vous ne savez pas prendre soin de vos affaires, laissant votre copie exposée au vent pour que tout le monde puisse voler vos données ou compromettre gravement votre machine. Nous vous recommandons d'exécuter ceci dans une machine virtuelle (VM) sécurisée, ne contenant rien de sensible et sans connectivité à Internet. Si vous ne sécurisez pas correctement le système qui exécute ceci ainsi que l'instance elle-même, vous risquez fortement de passer une mauvaise journée. Comme des relations charnelles occasionnelles sans protections adéquates, vous ne faites que vous mettre dans une position que vous regretterez un jour. Considérez-vous comme prévenu, mais encouragé à jouer ;-)

Prérequis

  • Apache Maven 3.6 ou supérieur
  • Java 21 ou supérieur
  • Tomcat 10.0 ou supérieur

Installation

Le SVJA RDPS est composé d'une application Java Struts 2 exécutant react. Il se construit simplement en exécutant : mvn clean package

Cela crée un WAR dans target -- svja.war. Placez simplement le WAR dans votre dossier webapps de tomcat. Dans une installation Tomcat par défaut, allez à http://127.0.0.1:8080/svja pour accéder à l'application.

Si vous utilisez Tomcat 10 ou supérieur, veuillez ajouter <Loader jakartaConverter="TOMCAT" /> à votre fichier de configuration context.xml de Tomcat.

Swagger UI

Pour ceux qui veulent l'utiliser pour mettre les choses en route, la racine (http://127.0.0.1:8080/svja) propose désormais Swagger UI et une spécification OpenAPI de base (http://127.0.0.1:8080/svja/specification.yaml) que vous pouvez utiliser. Notez que la spécification, et donc Swagger UI, n'effleure que la surface (c'est à cela que servent la désérialisation non sécurisée, etc., n'est-ce pas ?).

Vulnérabilités actuelles

Ci-dessous figurent quelques-unes des vulnérabilités majeures du système, par action.

  1. /api/authenticate
    • Falsification de requête intersite (CSRF)
    • Déni de service (DOS)
    • Désérialisation non sécurisée (OGNL, Struts, JSON -- sans bytecode)
      • Création arbitraire d'objets
      • Appel de méthode arbitraire
      • Détournement de session
      • Contournement de session
      • Contournement de l'authentification
    • Injection de logs
    • Données sensibles dans l'URL
  2. /api/authenticate/federated
    • Falsification de requête intersite (CSRF)
    • Déni de service (DOS)
    • Désérialisation non sécurisée (OGNL, Struts, JSON -- sans bytecode)
      • Création arbitraire d'objets
      • Appel de méthode arbitraire
      • Détournement de session
      • Contournement de session
      • Contournement de l'authentification
    • Injection de logs
    • Injection d'expression régulière
      • Contournement de l'authentification
      • Déni de service
  3. /api/files
    • Falsification de requête intersite (CSRF)
    • Cross-site scripting (XSS) via l'encodage
    • Déni de service (DOS)
    • Désérialisation non sécurisée (OGNL, Struts, JSON -- sans bytecode)
      • Traversée de chemin (lecture seule)
      • Création arbitraire d'objets
      • Appel de méthode arbitraire
      • Détournement de session
      • Contournement de session
      • Contournement de l'authentification
      • Référence directe non sécurisée à un objet
    • Sérialisation non sécurisée
      • Fuite d'informations personnelles identifiables (PII)
      • Fuite d'informations sensibles
    • Injection de logs
    • Condition de concurrence
      • Temps de vérification, temps d'utilisation (TOCTOU)
    • Données sensibles dans l'URL
  4. /api/projects
    • Injection de valeurs séparées par des virgules (CSV)
      • Injection CSV arbitraire
      • Attaques côté client
    • Falsification de requête intersite (CSRF)
    • Cross-site scripting (XSS) via l'encodage Déni de service (DOS)
    • Désérialisation non sécurisée (OGNL, Struts, JSON -- sans bytecode)
      • Traversée de chemin (lecture seule)
      • Création arbitraire d'objets
      • Appel de méthode arbitraire
      • Détournement de session
      • Contournement de session

Utilisateurs installés par défaut

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

Connexion au système

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

Après l'authentification, vous pouvez appeler n'importe quelle action en utilisant soit JSON, soit Struts.

Exemple de requête d'authentification 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


Exemple de requête d'authentification 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"
  }
}

Exemple de requête d'authentification Struts "federated"

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


Exemple de requête d'authentification JSON "federated"

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//"
}

Exemple de requête Struts

N'oubliez pas de modifier le 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


Exemple de requête JSON

N'oubliez pas de modifier le 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
}

À retenir

Ceci est un travail en cours et nous avons de nombreuses autres vulnérabilités et fonctionnalités prévues (notamment un frontend super vulnérable et d'autres applications super vulnérables) -- revenez nous voir tous les deux ou trois mois et regardez l'émission Roniel et DaRon Podcast Show pour des mises à jour, des exemples d'exploitation et d'autres idées. Nous vous encourageons également à essayer de comprendre comment atténuer ou corriger les vulnérabilités... casser des choses est facile... c'est l'atténuation, la correction et la sécurisation qui sont difficiles. Bonne chance et bonne chasse !

Télécharger l’outil
  • Contournement de l'authentification
  • Référence directe non sécurisée à un objet
  • Sérialisation non sécurisée
    • Fuite d'informations personnelles identifiables (PII)
    • Fuite d'informations sensibles
  • Injection de logs
  • Données sensibles dans l'URL
  • Injection XLSX
    • Injection XML arbitraire
    • Attaques côté client
  • /api/reflect
    • Réflexion sur l'utilisation
    • Désérialisation non sécurisée (OGNL, Struts, JSON -- sans bytecode)
      • Traversée de chemin (lecture seule)
      • Création arbitraire d'objets
      • Appel de méthode arbitraire
      • Détournement de session
      • Contournement de session
      • Contournement de l'authentification
      • Référence directe non sécurisée à un objet
    • Sérialisation non sécurisée
      • Fuite d'informations personnelles identifiables (PII)
      • Fuite d'informations sensibles
    • Injection de logs
  • /api/supersecret
    • Mode de chiffrement faible
    • Oracle de padding
    • Réflexion sur l'utilisation
    • Désérialisation non sécurisée (OGNL, Struts, JSON)
      • Traversée de chemin (lecture seule)
      • Création arbitraire d'objets
      • Appel de méthode arbitraire
      • Détournement de session
      • Contournement de session
      • Contournement de l'authentification
      • Référence directe non sécurisée à un objet
    • Sérialisation non sécurisée
      • Fuite d'informations personnelles identifiables (PII)
      • Fuite d'informations sensibles
    • Injection de logs