
InQL è un'estensione robusta e open-source per Burp Suite per test GraphQL avanzati, che offre rilevamento intuitivo delle vulnerabilità, scansioni personalizzabili e un'integrazione perfetta con Burp.
Benvenuto in InQL, uno strumento open-source per test GraphQL. Questo strumento offre funzionalità progettate per migliorare la tua esperienza di test GraphQL, rendendola più efficiente ed efficace. Apprezziamo la tua fiducia in InQL. Buon test!
L'interfaccia utente di InQL è dotata di tre componenti principali: la scheda Scanner, Batch Queries e Engine Fingerprinting.

Lo Scanner è il cuore di InQL, dove puoi analizzare un endpoint GraphQL o un file di schema di introspezione locale. Genera automaticamente tutte le possibili query, mutazioni e subscription, organizzandole in una vista strutturata per la tua analisi.
✅ Scansioni Personalizzabili
InQL offre la flessibilità di personalizzare le tue scansioni. Regola la profondità delle query generate o il numero di spazi usati per l'indentazione. Puoi anche eseguire scansioni 'Punti di Interesse' per rilevare potenziali vulnerabilità nello schema GraphQL.
✅ Analisi dei Punti di Interesse
Dopo aver eseguito una scansione dei Punti di Interesse, ti viene presentato un ricco set di dati che copre una varietà di potenziali vulnerabilità. Puoi abilitare o disabilitare queste categorie secondo le tue esigenze.
✅ Rilevamento dei Riferimenti Circolari
InQL implementa il rilevamento dei riferimenti circolari. Dopo aver analizzato lo schema, mostra le query potenzialmente vulnerabili nella vista dei risultati dello scanner.
✅ Interazioni Migliorate con Burp
InQL si integra perfettamente con Burp, permettendoti di generare query direttamente da qualsiasi richiesta GraphQL in Burp. Puoi anche inviare query generate automaticamente ad altri strumenti di Burp per ulteriori analisi.
✅ Intestazioni Personalizzate
Hai la possibilità di impostare intestazioni personalizzate per dominio, con l'elenco dei domini popolato automaticamente dal traffico osservato.
La scheda Batch Queries ti permette di eseguire attacchi GraphQL in batch, utili per aggirare limiti di frequenza mal implementati.
Gli editor di messaggi nativi di Burp ora dispongono di una scheda aggiuntiva 'GraphQL (InQL)', che offre un modo efficiente per visualizzare e modificare le richieste GraphQL. Supporta anche l'evidenziazione dello schema per una migliore leggibilità.
InQL ora implementa i server GraphiQL e GraphQL Voyager. Puoi inviare lo schema analizzato in essi per migliorare ulteriormente l'analisi!
Questa scheda ti permette di scansionare un URL GraphQL per recuperare informazioni sulla tecnologia del server backend.
Questo scanner è progettato per ricreare lo schema quando l'introspezione è disabilitata. Si basa su Clairvoyance CLI tool, utilizzando il pattern matching regex per scoprire i dettagli dello schema.
Per installare correttamente InQL, assicurati di soddisfare i seguenti requisiti:
Burp:
Java:
$ sudo apt install -y openjdk-17-jdk
$ java --version
openjdk 17.0.6 2023-01-17
$ # Mac OS & Homebrew:
$ brew install go-task
$ # Debian
$ sudo apt install -y task
$ git clone https://github.com/doyensec/inql
$ cd inql
$ # Opzionalmente, passa al ramo dev (potrebbe essere rotto/instabile!)
$ git checkout dev
$ task all
Questo dovrebbe produrre un file chiamato InQL.jar o simile nella radice del repository. Caricalo in Burp come estensione Java.
Ambiente di sviluppo
Se vuoi contribuire al progetto, non è necessario un ambiente speciale. Puoi semplicemente ricompilare il progetto ogni volta che implementi una modifica.
Per velocizzare il lavoro sul codice, potresti voler ricostruire automaticamente l'estensione ogni volta che apporti una modifica. Basta eseguire il task kotlin con il flag --watch / -w e sei a posto:
$ task kotlin -w
InQL prospera grazie ai contributi della comunità. Che tu sia uno sviluppatore, ricercatore, designer o bug hunter, la tua esperienza è inestimabile per noi. Accogliamo segnalazioni di bug, feedback e pull request. La tua partecipazione ci aiuta a continuare a migliorare InQL, rendendolo uno strumento più forte per la comunità.
Le interazioni sono meglio effettuate tramite il tracker delle issue di Github, ma puoi anche contattarci sui social media (@Doyensec). Non vediamo l'ora di sentirti!
Un ringraziamento speciale ai nostri contributori. La vostra dedizione e impegno sono stati fondamentali per rendere InQL ciò che è oggi.
Attuali:
Passati:
Questo progetto è stato realizzato con il supporto di Doyensec.