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
umberto — Bibliothèque et CLI pour la mutation de données structurées (JSON, XML, X.509) afin de prendre en charge le fuzzing basé sur une grammaire, avec de multiples stratégies de mutation et une intégration avec Radamsa. | Kitploit
Outils/GitHubGitHub/trailofbits/umberto
Utilitaires GénérauxAnalyse des VulnérabilitésAnalyse Dynamique de Code (DAST)FuzzingArchived
GitHubtrailofbits/umberto

umberto

Bibliothèque et CLI pour la mutation de données structurées (JSON, XML, X.509) afin de prendre en charge le fuzzing basé sur une grammaire, avec de multiples stratégies de mutation et une intégration avec Radamsa.

Voir le dépôt
314il y a 6 ansVérifié par Kitploit

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

Umberto

Umberto est une bibliothèque conçue pour muter des données structurées génériques (par exemple JSON, XML, X.509) et une application en ligne de commande qui enveloppe cette fonctionnalité. Elle peut appliquer une variété de mutations, synthétiser des valeurs entièrement nouvelles et appliquer des mutateurs existants (par ex. Radamsa) aux composants de la structure. Si vous essayez de faire du fuzzing basé sur une grammaire, vous pourriez la trouver très utile. C'est probablement plus simple à comprendre par l'exemple :

root@kitploit:~
echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate json knuth all

    {"a":2,"c":"tesb","t":1}

echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate json newvals nums

    {"a":-2.8e-20,"b":-40000,"c":"test"}

echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate json radamsa strings

    {"c\u0008^\u001f":"󠀨teï»â¨¿st","„1•31•31•31•31•31•31•31•3â":1,"ô ó –›ó €¶Db":2}

echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate string replacement all
    
    :"c2:tb{ :"{c"}t"as }c"e": "2

Installation

Umberto utilise stack. Installez stack, clonez ce dépôt, puis exécutez stack build && stack install. Si vous souhaitez utiliser le fuzzer Radamsa, vous devrez également l'installer séparément.

Utilisation en ligne de commande

Umberto fournit un exécutable simple, umberto-mutate, qui encapsule la plupart de ses fonctionnalités. L'utilisation typique est la suivante :

echo -n mydata | umberto-mutate FORMAT MUTATOR TARGET

FORMAT peut être l'un des suivants :

  • json

  • string (ou essentiellement « pas de format »)

  • xml (relativement peu testé)

  • der (X.509 DER, relativement peu testé)

MUTATOR peut être l'un des suivants :

  • knuth : Mélange de Knuth des valeurs ciblées

  • replacement : Mélange par remplacement des valeurs ciblées

  • newvals : Synthétiser de nouvelles valeurs ciblées à la place des anciennes

  • radamsa : Faire appel à radamsa pour la mutation (fonctionne uniquement sur les chaînes)

TARGET peut être l'un des suivants :

  • strings : Types chaîne

  • nums : Types numériques

  • all : Tous les types

Utilisation en tant que bibliothèque

La plupart des fonctionnalités d'Umberto sont disponibles dans lib/Umberto.hs. Les mutateurs qui utilisent le polymorphisme de typeclass nécessitent un certain usage de Template Haskell pour violer l'hypothèse du monde ouvert. Ceci est disponible dans Umberto.TH mais ne devrait être utilisé que dans du code exécutable, jamais dans des bibliothèques.

Télécharger l’outil