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
openapi_security_scanner — Scanner di sicurezza per autorizzazioni automatizzato per API basate su OpenAPI. Testa gli endpoint GET con più set di credenziali per rilevare escalation dei privilegi e bug di controllo degli accessi tramite analisi differenziale delle risposte. | Kitploit
Strumenti/GitHubGitHub/ngalongc/openapi_security_scanner
Scanner di VulnerabilitàTest di Sicurezza delle APISicurezza WebPenetration Testing
GitHubngalongc/openapi_security_scanner

openapi_security_scanner

Scanner di sicurezza per autorizzazioni automatizzato per API basate su OpenAPI. Testa gli endpoint GET con più set di credenziali per rilevare escalation dei privilegi e bug di controllo degli accessi tramite analisi differenziale delle risposte.

Vedi Repository

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
173375 anni faRevisionato da Kitploit

OpenAPI Security Scanner

Informazioni sul Progetto

I problemi di sicurezza dell'autorizzazione nelle applicazioni web moderne non vengono facilmente rilevati dagli scanner di sicurezza. Alcuni esempi da Shopify, LINE, NordVPN. Uno dei motivi è che gli scanner di sicurezza cercano principalmente SQLi, XSS, RCE invece di cercare bug di sicurezza dell'autorizzazione, e di solito non hanno conoscenza di come l'applicazione web dovrebbe comportarsi. Ecco perché la maggior parte dei bug di autorizzazione vengono scoperti principalmente manualmente. OpenAPI Security Scanner è stato creato per aiutare a scoprire problemi di sicurezza dell'autorizzazione sia con automazione che con revisione manuale. Si comporta come uno strumento di test unitario esterno per garantire che tutto si comporti come dovrebbe.

Realizzato Con

  • Schemathesis

Per Iniziare

Guarda questo video per seguire o continua a leggere.

Forka o clona questo progetto e segui le istruzioni qui sotto per iniziare.

Il flusso di lavoro per utilizzare questo scanner sarebbe simile a questo:

  • Prepara il file yaml OpenAPI dell'API target
  • Definisci gli endpoint target e le variabili da utilizzare per il test dell'API
  • Genera più set di credenziali da diversi utenti per assicurarti che una varietà di casi limite siano coperti durante l'esecuzione dei test API
  • Dopo la configurazione, avvia il runner e il risultato della scansione si trova negli artefatti
  • Pianifica l'esecuzione periodica del runner e personalizza il modo in cui desideri ricevere le notifiche ogni volta che c'è un cambiamento nel risultato della scansione

Vantaggi

Per gli sviluppatori, l'uso di questo strumento aggiunge un ulteriore livello di garanzia che l'API si comporti come previsto sia internamente che esternamente. E lo scanner può essere attivato ad ogni distribuzione del codice attivando la pipeline https://docs.gitlab.com/ee/ci/triggers/.

Per i cacciatori di bug bounty, usare questo strumento può garantire di rimanere sempre aggiornati sull'API target, perché sappiamo tutti che anche un endpoint specifico non era vulnerabile prima, potrebbe diventarlo in futuro per vari motivi. Quindi è più facile automatizzare la parte manuale della caccia ai bug utilizzando questo strumento.

Avvertenza Prima dell'Uso

Assicurati di avere il permesso di scansionare l'API target.

Prerequisiti

Avrai bisogno di un file yaml OpenAPI dell'applicazione web e sostituiscilo con il contenuto di api.yaml nel repository.

Utilizzo

Sostituisci il contenuto di api.yaml con il file yaml OpenAPI del target, vai su Settings -> CI/CD -> Espandi Variables del progetto GitLab e inserisci le variabili nei formati seguenti.

OPENAPI_CREDS

Le credenziali fornite qui verranno passate alle chiamate API nel formato dell'intestazione Authorization: Bearer. Si consiglia di preparare token di accesso per almeno due account utente con permessi diversi, e puoi anche creare più di un token di accesso per account utente per testare comportamenti corretti per token di accesso con ambiti diversi.

root@kitploit:~
{
   "<user_a>":[
      {
         "scope":"<scope>",
         "access_token":"<valore>",
         "name":"<nome_del_token_di_accesso>"
      },
      {
         "scope":"<scope>",
         "access_token":"<valore>",
         "name":"<nome_del_token_di_accesso>"
      }
   ],
   "<user_b>":[
      {
         "scope":"<scope>",
         "access_token":"<valore>",
         "name":"<nome_del_token_di_accesso>"
      }
   ]
}

OPENAPI_ENDPOINTS

Gli endpoint forniti qui devono essere chiamate API basate su GET, e puoi anche includere la query nel corpo JSON. Nell'esempio qui sotto, l'endpoint è /org/{org}/repos e la query è type=all. Per l'endpoint /repos/{owner}/{repo}, non ci sarà alcuna query.

root@kitploit:~
{
   "/orgs/{org}/repos":{
      "type":"all"
   },
   "/repos/{owner}/{repo}":{
      
   }
}

OPENAPI_PATHS

Le variabili di percorso possono essere fornite qui, e lo scanner genererà tutte le combinazioni dai valori nelle variabili di percorso.

root@kitploit:~
{
   "org":[
      "test-org"
   ],
   "owner":[
      "ngalongc",
      "reconless"
   ],
   "repo":[
      "public-repo",
      "private-repo"
   ]
}

In questo caso, vengono generate le seguenti combinazioni di chiamate API, e verranno tutte chiamate da diversi set di credenziali forniti in OPENAPI_CREDS.

root@kitploit:~
/orgs/test-org/repos?type=all
/repos/ngalongc/public-repo
/repos/ngalongc/private-repo
/repos/reconless/public-repo
/repos/reconless/private-repo

PRIVATE_TOKEN

Vai su https://gitlab.com/-/profile/personal_access_tokens e crea un token di accesso api e sostituisci il valore qui. Questo token di accesso GitLab viene utilizzato per scaricare i risultati della scansione dal runner GitLab.

root@kitploit:~
<TUO_TOKEN_DI_ACCESSO_GITLAB_API>

OPENAPI_BASE_URL

Questo dovrebbe essere il valore dell'URL base del tuo server API

root@kitploit:~
https://example.com/api/v3

Demo: esecuzione di semplici test di autorizzazione sull'API di GitHub

Screenshot della notifica Slack quando vengono rilevati cambiamenti nell'API

Screenshot del risultato della scansione negli artefatti

Report di esempio: https://ngalog-gitlab.gitlab.io/-/openapi_security_scanner/-/jobs/966841401/artifacts/sample.html

Limitazioni

  • Può testare solo endpoint basati su GET
  • Per alcuni endpoint API come /users/{user_id}/activities, le risposte sono diverse ogni volta che vengono chiamati, quindi rilevare i cambiamenti di questo tipo di API non è significativo

Contribuire

I contributi sono ciò che rende la comunità open source un posto fantastico per imparare, ispirare e creare. Qualsiasi contributo che fornisci è molto apprezzato.

  1. Fai il Fork del Progetto
  2. Crea il tuo Branch per la Funzionalità (git checkout -b feature/CaratteristicaIncredibile)
  3. Esegui il Commit delle tue Modifiche (git commit -m 'Aggiungi qualche CaratteristicaIncredibile')
  4. Effettua il Push sul Branch (git push origin feature/CaratteristicaIncredibile)
  5. Apri una Merge Request

Licenza

Distribuito con licenza MIT. Vedi LICENSE per maggiori informazioni.

Contatti

Ron Chan - @ngalongc

Link al Progetto: https://gitlab.com/ngalog-gitlab/openapi_security_scanner

Scarica lo strumento