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
batchql — Script di auditing di sicurezza per GraphQL con focus sull'esecuzione di query e mutazioni GraphQL in batch. | Kitploit
Strumenti/GitHubGitHub/assetnote/batchql
Scanner di VulnerabilitàTest di Sicurezza delle APISicurezza WebPenetration Testing
GitHubassetnote/batchql

batchql

Script di auditing di sicurezza per GraphQL con focus sull'esecuzione di query e mutazioni GraphQL in batch.

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

BatchQL

BatchQL è uno script di auditing di sicurezza per GraphQL con un focus sull'esecuzione di query e mutazioni GraphQL in batch. Questo script non è complesso e accogliamo con favore i miglioramenti.

Quando abbiamo esplorato lo spazio dei problemi degli attacchi di batching GraphQL, abbiamo scoperto che esistevano alcuni post sui blog su internet, ma nessuno strumento per eseguire attacchi di batching GraphQL.

Gli attacchi di batching GraphQL possono essere piuttosto gravi a seconda delle funzionalità implementate. Ad esempio, immagina una funzionalità di reimpostazione della password che prevede un PIN a 4 cifre inviato alla tua email. Con questo strumento, potresti tentare tutti i 10.000 tentativi di PIN in una singola query GraphQL. Questo potrebbe bypassare eventuali limitazioni di velocità o blocchi dell'account, a seconda dei dettagli implementativi del flusso di reimpostazione della password.

Rilevamenti

Questo strumento è in grado di rilevare quanto segue:

  • Supporto per query di introspezione
  • Rilevamento di suggerimenti dello schema
  • Rilevamento potenziale di CSRF
  • Batching basato sul nome della query
  • Batching basato su lista JSON di query

Attacchi

Attualmente, questo strumento supporta solo l'invio di query basate su liste JSON per attacchi di batching. Supporta scenari in cui le variabili sono incorporate nella query o fornite nell'input JSON.

Utilizzo

Enumerazione

root@kitploit:~
❯ python batch.py -e http://re.local:5000/graphiql -p localhost:8080

Schema suggestions enabled. Use Clairvoyance to recover schema: https://github.com/nikitastupin/clairvoyance
CSRF GET based successful. Please confirm that this is a valid issue.
CSRF POST based successful. Please confirm that this is a valid issue.
Query name based batching: GraphQL batching is possible... preflight request was successful.
Query JSON list based batching: GraphQL batching is possible... preflight request was successful.
Most provide query, wordlist, and size to perform batching attack.

Attacchi di Batching

  1. Salva un file che contiene la tua query GraphQL, ad esempio acc-login.txt:
root@kitploit:~
mutation emailLoginRemembered($loginInput: InputRememberedEmailLogin!) {
  emailLoginRemembered(loginInput: $loginInput) {
    authToken {
      accessToken
      __typename
    }
    userSessionResponse {
      userToken
      userIdentity {
        userId
        identityType
        verified
        onboardingStatus
        registrationReferralCode
        userReferralInfo {
          referralCode {
            code
            valid
            __typename
          }
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
  }
  1. Esegui il seguente comando per lanciare un attacco di batching GraphQL:
root@kitploit:~
❯ python batch.py --query acc-login.txt --wordlist passwords.txt -v '{"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}' --size 100 -e http://re.local:5000/graphiql -p localhost:8080

Il comando sopra esegue le seguenti operazioni:

  • Specifica una query da un file locale --query acc-login.txt.
  • Specifica una wordlist --wordlist passwords.txt
  • Specifica l'input delle variabili con l'identificatore di sostituzione -v {"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}
  • Specifica la dimensione del batch --size 100
  • Specifica l'endpoint -e http://re.local:5000/graphiql
  • Specifica un proxy -p localhost:8080

Riferimenti

  • Sfruttare GraphQL
  • Damn Vulnerable GraphQL Application
  • Attacco di batching GraphQL - Wallarm
  • Mitigazione degli attacchi di batching
Scarica lo strumento