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
vucsa — Application client-serveur délibérément vulnérable pour apprendre les tests d'intrusion de clients lourds non-HTTP. Inclut des défis sur les injections SQL, les exécutions de code à distance (RCE), les attaques XML, les dépassements de lecture de tampon et les vulnérabilités de contrôle d'accès. | Kitploit
Outils/GitHubGitHub/warxim/vucsa
Analyse des VulnérabilitésExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationExploitation de Binaires
GitHubwarxim/vucsa

vucsa

Voir le dépôt
10128il y a 2 ansVérifié par Kitploit

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 →

À propos

Site web

Application client-serveur délibérément vulnérable pour apprendre les tests d'intrusion de clients lourds non-HTTP. Inclut des défis sur les injections SQL, les exécutions de code à distance (RCE), les attaques XML, les dépassements de lecture de tampon et les vulnérabilités de contrôle d'accès.

Partager

Application Client-Serveur Vulnérable (VuCSA)

Application Client-Serveur Vulnérable (VuCSA)

L'application client-serveur vulnérable (VuCSA) est conçue pour apprendre/présenter comment effectuer des tests de pénétration d'applications client-serveur non-HTTP. Elle est écrite en Java (avec une interface utilisateur graphique JavaFX).

Actuellement, l'application vulnérable contient les défis suivants :

  1. Dépassement de tampon (simulé)
  2. Exécution de commande
  3. Injection SQL
  4. Énumération
  5. XML
  6. Contrôle d'accès horizontal
  7. Contrôle d'accès vertical
  8. Désérialisation RCE

Si vous voulez savoir comment résoudre ces défis, jetez un œil au site web de PETEP, qui décrit comment utiliser l'outil open-source PETEP pour les exploiter.

Astuce 1 : Avant de commencer à pirater, n'oubliez pas de vérifier la structure des messages ci-dessous. Lors de la modification du trafic réseau, vous devrez probablement prendre en compte la structure, en particulier les octets de longueur de la charge utile.

Astuce 2 : La plupart des défis peuvent être exploités en modifiant le trafic réseau. Par conséquent, il est recommandé d'utiliser un proxy TCP ou des hooks de processus pour les tests.

Astuce 3 : Certains défis ont une validation d'entrée et des restrictions en place, ce qui est courant dans les clients lourds, mais cela ne signifie pas que le serveur utilise la même validation.

Vulnérabilité de dépassement de lecture (simulé)

Dans ce défi, votre objectif est de manipuler le trafic réseau entre le client et le serveur de manière à provoquer un dépassement de lecture.

Vulnérabilité d'exécution de commande

Le défi d'exécution de commande représente une vulnérabilité d'exécution de commande très simple. L'objectif est d'exécuter une commande malveillante sur le serveur.

Vulnérabilité d'injection SQL

Le défi d'injection SQL contient une entrée de recherche vulnérable à l'injection SQL, mais comme vous le remarquerez bientôt, l'entrée ne vous permet pas de saisir les caractères dont vous avez besoin.

Vulnérabilité d'énumération

Le défi d'énumération est basé sur un formulaire de connexion simulé qui n'est pas protégé contre l'énumération. Serez-vous capable de trouver les 5 utilisateurs et de deviner leurs mots de passe ?

Vulnérabilités XML

Dans ce défi, vous pouvez trouver plusieurs vulnérabilités XML :

  • Attaque par entité externe XML (injection XXE)
  • Attaque XInclude
  • Attaque par bombe XML

Vulnérabilité de contrôle d'accès horizontal

Le défi de contrôle d'accès horizontal représente un lecteur de documents qui permet à l'utilisateur de voir ses propres documents et de lire leur contenu. L'objectif est de trouver 5 documents d'autres utilisateurs.

Vulnérabilité de contrôle d'accès vertical

Le défi de contrôle d'accès vertical est basé sur un panneau utilisateur simulé, qui affiche les informations de base de l'utilisateur. L'objectif est de trouver une fonctionnalité administrateur cachée et de vérifier s'il est possible de l'utiliser en tant qu'utilisateur invité.

Vulnérabilité de désérialisation RCE

La vulnérabilité de désérialisation RCE utilise la désérialisation/sérialisation Java pour transmettre des données sur le réseau. L'application contient deux chemins que vous pouvez utiliser pour parvenir à une exécution de code à distance via la désérialisation Java vulnérable. Vous pouvez trouver les deux chemins en examinant le fichier JAR du serveur ou en consultant le code source. L'objectif est de créer des exploits pour les deux chemins et d'exécuter une commande malveillante sur le serveur.

Astuce : Vous pouvez utiliser le JAR du serveur comme bibliothèque pour faciliter la création d'exploits.

Requirements

Vous avez besoin de Java 11 ou d'une version plus récente pour exécuter VuCSA.

Remarque : Pour Mac avec architecture ARM64 (puce M1, M2), utilisez la version spéciale pour Java 17.

How to Run

Pour exécuter le serveur et le client vulnérables, vous pouvez utiliser l'une des versions sur GitHub ou exécuter gradle assemble, qui crée des packages de distribution (pour Windows et Unix). Ces packages contiennent des scripts sh/bat qui exécuteront le serveur et le client avec JVM :

root@kitploit:~
# Linux / Mac
chmod +x client.sh server.sh
./client.sh
./server.sh

# Windows
client.bat
server.bat

Remarque : Ces scripts d'exécution contiennent des variables utiles, y compris le chemin vers l'exécutable Java. Vous devrez peut-être le modifier si vous ne l'avez pas dans le PATH ou si vous utilisez plusieurs versions de Java.

Run Configuration

La configuration du serveur est automatiquement créée si elle n'existe pas, puis elle est chargée depuis server.json dans le même répertoire où le serveur s'exécute :

root@kitploit:~
{
  "network": {
    "serverHost": "0.0.0.0",
    "serverPort": 8765
  }
}

La configuration du client peut être spécifiée dans l'application en cours d'exécution.

Project Structure

Le projet est divisé en trois modules :

  • vucsa-common - fonctionnalités communes au client et au serveur (y compris les utilitaires de traitement de protocole)
  • vucsa-client - client vulnérable avec interface utilisateur JavaFX
  • vucsa-server - serveur vulnérable pour utilisation en terminal

Data Structure

Les messages transmis entre le serveur et le client ont le format simple suivant :

root@kitploit:~
[type][target][length][payload]
  32b    32b     32b     ???

Ces quatre parties ont la signification suivante :

  • type - type du message (utilisé pour la sérialisation/désérialisation)
  • target - gestionnaire cible qui recevra le message (identifiant)
  • length - longueur de la charge utile
  • payload - données sérialisées en octets

Pour envoyer des charges utiles personnalisées, vous devrez peut-être mettre à jour la longueur de la charge utile. Sinon, cela ne fonctionnera pas correctement. Dans le tutoriel, un script automatique est développé pour corriger automatiquement les octets de longueur de la charge utile.

Tutorial (Solutions)

L'application client-serveur vulnérable (VuCSA) contient de multiples vulnérabilités, qui peuvent être exploitées de diverses manières. Le guide officiel pour exploiter ces vulnérabilités utilise le proxy de test de pénétration open-source (voir Méthodologie PETEP).

Dans la méthodologie PETEP, tout le processus d'exploitation des défis est expliqué, y compris les charges utiles utiles.

Télécharger l’outil