Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/scabench/fastjson-tp1fn1
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeSécurité de la Chaîne LogistiqueArticles et RechercheApprentissage et Éducation
GitHubscabench/fastjson-tp1fn1

fastjson-tp1fn1

un scénario basé sur CVE-2022-25845 produisant un TP pour une SCA basée sur les métadonnées mais un FN si le callgraph est utilisé

Voir le dépôt
il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

json.org CVE-2022-45688 vrai et faux positif (WTF ??)

Le projet contient une dépendance fastjson avec CVE-2022-25845.

La vulnérabilité se produit lorsque le balisage dans JSON est interprété comme des beans Java, c'est-à-dire que des classes sont instanciées et que les propriétés sont définies en exécutant des méthodes setter. Cela se fait par réflexion. Si une classe se trouve dans le classpath dont les setters peuvent déclencher un comportement comme l'exécution de code (dans l'exemple, cette classe est Trigger, l'entrée correspondante est CVE-2022-25845.json), cela peut être exploité.

La partie intéressante est l'utilisation de la réflexion ici, comme le montre la trace de pile ci-dessous provenant de l'exécution du test inclus utilisé pour démontrer la vulnérabilité.

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)

Les SCA standard basées sur les métadonnées n'ont aucun problème à identifier la vulnérabilité, c'est « business-as-usual ». Cependant, les outils basés sur des graphes d'appels sont susceptibles de la manquer car les constructions de graphes d'appels ne modélisent généralement pas les appels réflexifs. En ce sens, c'est à la fois un vrai positif et un faux négatif, selon les analyses utilisées.

Notez qu'il existe un test de preuve de vulnérabilité pour démontrer la vulnérabilité ; ce test (et donc la construction avec mvn test) échoue. Voir https://github.com/scabench/jsonorg-tp1 pour le fonctionnement du test.

Exécution des analyses de composition logicielle

Il y a plusieurs scripts sh pour exécuter différentes analyses ; les rapports de résultats se trouvent dans scan-results.

Génération du SBOM

Le pom.xml dispose d'un plugin pour générer un SBOM au format CycloneDX. Pour ce faire, exécutez mvn cyclonedx:makePackageBom ; le SBOM se trouve dans target/ aux formats json et xml.

Télécharger l’outil