Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
fastjson-tp1fn1 — uno scenario basato su CVE-2022-25845 che produce un TP per la SCA basata sui metadati ma un FN se viene utilizzato il callgraph | Kitploit
Strumenti/GitHubGitHub/scabench/fastjson-tp1fn1
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceSicurezza della Supply ChainPaper e RicercaApprendimento e Formazione
GitHubscabench/fastjson-tp1fn1

fastjson-tp1fn1

uno scenario basato su CVE-2022-25845 che produce un TP per la SCA basata sui metadati ma un FN se viene utilizzato il callgraph

Vedi Repository
32 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

json.org CVE-2022-45688 vero e falso positivo (WTF ??)

Il progetto contiene una dipendenza fastjson con CVE-2022-25845.

La vulnerabilità si verifica quando il markup in JSON viene interpretato come Java beans, cioè le classi vengono istanziate e le proprietà vengono impostate eseguendo i metodi setter. Questo viene fatto usando la reflection. Se una classe è nel classpath e i suoi setter possono innescare comportamenti come l'esecuzione di codice (nell'esempio, questa classe è Trigger, l'input corrispondente è CVE-2022-25845.json), allora può essere sfruttata.

La parte interessante è l'uso della reflection qui, come mostrato dallo stacktrace sottostante ottenuto eseguendo il test incluso usato per dimostrare la vulnerabilità.

root@kitploit:~
setName:11, Trigger
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect) [2]
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:566, Method (java.lang.reflect)
setValue:167, FieldDeserializer (com.alibaba.fastjson.parser.deserializer)
deserialze:155, ThrowableDeserializer (com.alibaba.fastjson.parser.deserializer)
parseObject:405, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:1430, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:1390, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:181, JSON (com.alibaba.fastjson)
parse:191, JSON (com.alibaba.fastjson)
parse:147, JSON (com.alibaba.fastjson)
main:18, CheckJSON (scabench)
confirmCVE202225845:39, ConfirmVulnerabilitiesTests (scabench)

Gli SCA standard basati su meta-dati non hanno problemi a identificare la vulnerabilità, è "business-as-usual". Tuttavia, gli strumenti basati su callgraph probabilmente non la rilevano, poiché le costruzioni di callgraph generalmente non riescono a modellare le chiamate riflessive. In questo senso, questo è sia un vero positivo che un falso negativo, a seconda delle analisi utilizzate.

Nota che c'è un test proof-of-vulnerability per dimostrare la vulnerabilità, questo test (e quindi la build con mvn test) fallisce. Vedi https://github.com/scabench/jsonorg-tp1 per come funziona il test.

Esecuzione delle analisi di composizione del software

Ci sono diversi script sh per eseguire diverse analisi, i report dei risultati si trovano in scan-results.

Generazione dell'SBOM

Il pom.xml ha un plugin per generare un SBOM in formato CycloneDX. Per farlo, esegui mvn cyclonedx:makePackageBom, l'SBOM si trova in target/ in formato json e xml.

Scarica lo strumento