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
GraphQLer — ☸Il primo strumento di test per API GraphQL con consapevolezza delle dipendenze! | Kitploit
Strumenti/GitLabGitLab/omar2535/graphqler
Analisi delle VulnerabilitàTest di Sicurezza delle APISicurezza WebFuzzing
GitLabomar2535/graphqler

GraphQLer

☸Il primo strumento di test per API GraphQL con consapevolezza delle dipendenze!

Vedi Repository
2 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
Sito web

L'**unico** strumento di test per API GraphQL con consapevolezza delle dipendenze!

python3.12 Maintainability lint tests_status security

GraphQLer è uno strumento all'avanguardia progettato per testare dinamicamente le API GraphQL con un focus sull'adattabilità. Offre una gamma di funzionalità sofisticate che semplificano il processo di test e garantiscono un'analisi robusta delle API GraphQL. GraphQLer gestisce proficientemente oggetti e risorse creati, identifica efficacemente le dipendenze su oggetti, query e mutazioni e corregge dinamicamente gli errori all'interno delle query in base alle restrizioni dell'API. GraphQLer è stato utilizzato per trovare molti bug nelle API GraphQL di livello produttivo!

Video Demo

Caratteristiche principali

  • Consapevolezza delle dipendenze: Esegue query e mutazioni in base alle loro dipendenze!
  • Test dinamici: Tiene traccia delle risorse create durante i test
  • Correzione degli errori: Tenta di correggere le richieste in modo che l'API GraphQL le accetti
  • Raccolta di statistiche: Mostra i risultati in un file chiaro
  • Facilità d'uso: Tutto ciò che serve è l'endpoint e forse il token di autenticazione 😁

Per iniziare

Per iniziare a usare GraphQLer, consulta la guida all'installazione.

Utilizzo

root@kitploit:~
❯ python3 main.py --help
usage: main.py [-h] [--compile] [--fuzz] [--run] --path PATH [--auth AUTH] --url URL

options:
  -h, --help   show this help message and exit
  --compile    runs on compile mode
  --fuzz       runs on fuzzing mode
  --run        run both the compiler and fuzzer (equivalent of running --compile then running --fuzz)
  --path PATH  directory location for saved files and files to be used from
  --auth AUTH  authentication token Example: 'Bearer arandompat-abcdefgh'
  --url URL    remote host URL

Di seguito sono riportati i passaggi su come utilizzare questo programma per testare la tua API GraphQL. L'utilizzo è suddiviso in 2 fasi: compilazione e fuzzing.

  • Modalità compilazione: Questa modalità è responsabile dell'esecuzione di una query di introspezione contro l'API fornita e della generazione del dependency graphh
  • Modalità fuzzing: Questa modalità è responsabile dell'attraversamento del grafo delle dipendenze e dell'invio di richieste di test all'API

Una terza modalità è inclusa per facilità d'uso, chiamata run. Questa modalità combina la modalità di compilazione e quella di fuzzing in un unico comando.

Modalità compilazione

root@kitploit:~
(.env) python main.py --compile --url <URL> --path <SAVE_PATH>

Dopo la compilazione, puoi visualizzare i risultati compilati in <SAVE_PATH>/compiled. Inoltre, sarà stato generato un grafo chiamato dependency_graph.png per l'ispezione. Eventuali UNKNOWNS nei file .yaml compilati possono essere marcati manualmente; tuttavia, se non marcati, il fuzzer li eseguirà comunque ma senza utilizzare una catena di dipendenze.

Modalità fuzzing

root@kitploit:~
(.env) python main.py --fuzz --url <URL> --path <SAVE_PATH>

Durante il fuzzing, le statistiche relative all'API GraphQL e i conteggi delle richieste in corso vengono registrati nella console. I codici di ritorno delle richieste vengono scritti in <SAVE_PATH>/stats.txt. Tutti i log durante il fuzzing sono conservati in <SAVE_PATH>/logs/fuzzer.log. Il file di log ti dirà esattamente quali richieste sono inviate a quali endpoint e qual è stata la risposta. Questo può essere utilizzato per un'ulteriore analisi dei risultati.

Modalità run

Esegue sia la modalità di compilazione che quella di fuzzing

root@kitploit:~
(.env) python main.py --run --url <URL> --path <SAVE_PATH>

Funzionalità avanzate

Ci sono anche variabili che possono essere modificate nel file constants.py. Queste corrispondono a funzionalità specifiche implementate in GraphQLer e possono essere regolate a piacere.

Scarica lo strumento
Nome VariabileDescrizione VariabileTipo VariabilePredefinito
MAX_LEVENSHTEIN_THRESHOLDLa distanza di Levenshtein tra oggetti e ID degli oggettiInteger20
MAX_OBJECT_CYCLESNumero massimo di volte in cui lo stesso oggetto dovrebbe essere materializzato nella stessa query/mutazioneInteger3
MAX_OUTUPT_SELECTOR_DEPTHProfondità massima con cui l'output della query/mutazione deve essere espanso (come nel caso di selettori infinitamente ricorsivi)Integer3
USE_OBJECTS_BUCKETIndica se memorizzare o meno gli ID degli oggetti per uso futuroBooleanTrue
USE_DEPENDENCY_GRAPHIndica se utilizzare o meno la funzionalità di consapevolezza delle dipendenzeBooleanTrue
MAX_FUZZING_ITERATIONSNumero massimo di payload di fuzzing da eseguire su un nodoInteger5
MAX_TIMEIl tempo massimo di esecuzioneInteger3600