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
umberto — Libreria e CLI per la mutazione di dati strutturati (JSON, XML, X.509) a supporto del fuzzing basato su grammatica, con molteplici strategie di mutazione e integrazione con Radamsa. | Kitploit
Strumenti/GitHubGitHub/trailofbits/umberto
Utilità GenericheAnalisi delle VulnerabilitàAnalisi Dinamica del Codice (DAST)FuzzingArchived
GitHubtrailofbits/umberto

umberto

Libreria e CLI per la mutazione di dati strutturati (JSON, XML, X.509) a supporto del fuzzing basato su grammatica, con molteplici strategie di mutazione e integrazione con Radamsa.

Vedi Repository
3146 anni faRevisionato da Kitploit

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

Umberto

Umberto è una libreria progettata per mutare dati strutturati generici (ad es. JSON, XML, X.509) e un'applicazione a riga di comando che incapsula questa funzionalità. Può applicare una varietà di mutazioni, sintetizzare valori completamente nuovi e applicare mutatori esistenti (ad es. Radamsa) ai componenti della struttura. Se stai cercando di eseguire fuzzing basato su grammatica, potresti trovarlo molto utile. Probabilmente è più facile capirlo con un esempio:

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

Installazione

Umberto usa stack. Installa stack, clona questo repository, quindi esegui stack build && stack install. Se vuoi usare il fuzzer Radamsa, dovrai anche installarlo separatamente.

Utilizzo da Riga di Comando

Umberto fornisce un semplice eseguibile, umberto-mutate, che incapsula la maggior parte delle sue funzionalità. L'uso tipico è il seguente:

echo -n mydata | umberto-mutate FORMATO MUTATORE OBIETTIVO

FORMATO può essere uno dei seguenti:

  • json

  • string (o essenzialmente "nessun formato")

  • xml (relativamente non testato)

  • der (X.509 DER, relativamente non testato)

MUTATORE può essere uno dei seguenti:

  • knuth: valori mirati mescolati con Knuth shuffle

  • replacement: valori mirati mescolati per sostituzione

  • newvals: sintetizza nuovi valori mirati al posto di quelli vecchi

  • radamsa: richiama radamsa per la mutazione (funziona solo su stringhe)

OBIETTIVO può essere uno dei seguenti:

  • strings: tipi stringa

  • nums: tipi numerici

  • all: tutti i tipi

Utilizzo della Libreria

La maggior parte delle funzionalità di Umberto è disponibile in lib/Umberto.hs. I mutatori che fanno uso del polimorfismo tramite typeclass richiedono un uso di Template Haskell per violare l'assunzione del mondo aperto. Questo è disponibile in Umberto.TH ma dovrebbe essere usato solo in codice eseguibile, mai in librerie.

Scarica lo strumento