Sécurité

OWASP API Security Top 10 — Guida 2025

Le 10 vulnerabilità API più critiche secondo OWASP. Esempi pratici, codice di correzione e checklist di sicurezza per le API.

15 janvier 20254 min de lectureWarDek Team

Le API sono il tessuto connettivo delle applicazioni moderne — e il bersaglio preferito degli attaccanti. La classifica OWASP API Security Top 10 identifica le vulnerabilità più critiche e diffuse. Vediamo ciascuna con esempi concreti e contromisure.

API1: Broken Object Level Authorization (BOLA)

La vulnerabilità API più diffusa. L'attaccante modifica l'ID di un oggetto nella richiesta per accedere ai dati di un altro utente.

Esempio vulnerabile:

GET /api/utenti/123/ordini
// L'attaccante cambia 123 con 456 e vede gli ordini di un altro utente

Contromisure:

// Verifica BOLA corretta
async function getOrdini(userId: string, requestUserId: string) {
  if (userId !== requestUserId && !isAdmin(requestUserId)) {
    throw new ForbiddenError('Non autorizzato')
  }
  return db.ordini.findMany({ where: { userId } })
}

API2: Broken Authentication

Meccanismi di autenticazione implementati in modo errato che permettono all'attaccante di impersonare altri utenti.

Vulnerabilità comuni:

Contromisure:

API3: Broken Object Property Level Authorization

L'API espone proprietà degli oggetti che l'utente non dovrebbe vedere o modificare.

Esempio:

// Risposta API che espone dati sensibili
{
  "id": "user-123",
  "nome": "Mario Rossi",
  "email": "[email protected]",
  "ruolo": "user",
  "hashPassword": "$2b$10...",  // MAI esporre
  "saldoConto": 15000           // Non necessario per questa vista
}

Contromisure:

API4: Unrestricted Resource Consumption

L'API non limita le risorse consumabili, permettendo attacchi DoS o costi eccessivi.

Contromisure:

// Rate limiting con sliding window
const limiter = rateLimit({
  windowMs: 60 * 1000, // 1 minuto
  max: 100,            // 100 richieste per finestra
  standardHeaders: true,
  legacyHeaders: false,
})

API5: Broken Function Level Authorization

L'attaccante accede a funzioni amministrative cambiando il percorso dell'endpoint.

Esempio:

GET  /api/utenti        → OK (utente normale)
DELETE /api/utenti/123   → Dovrebbe essere bloccato ma non lo è
POST /api/admin/utenti   → Accesso admin non verificato

Contromisure:

API6: Unrestricted Access to Sensitive Business Flows

L'API non protegge i flussi di business da abusi automatizzati (bot che comprano tutto lo stock, scraping massivo).

Contromisure:

API7: Server Side Request Forgery (SSRF)

L'API accetta URL forniti dall'utente e li richiede lato server, permettendo all'attaccante di raggiungere risorse interne.

Esempio vulnerabile:

POST /api/fetch-preview
{ "url": "http://169.254.169.254/latest/meta-data/" }
// Accede ai metadati dell'istanza cloud!

Contromisure:

API8: Security Misconfiguration

Configurazioni di sicurezza mancanti o errate.

Checklist:

API9: Improper Inventory Management

API non documentate, versioni obsolete ancora attive, endpoint shadow.

Contromisure:

API10: Unsafe Consumption of APIs

L'API si fida dei dati ricevuti da servizi terzi senza validarli.

Contromisure:

Checklist rapida di sicurezza API

| Controllo | Priorità | |-----------|----------| | Autorizzazione a livello di oggetto (BOLA) | Critica | | Rate limiting su tutti gli endpoint | Alta | | Validazione input con schema (Zod) | Alta | | Token JWT con firma e scadenza | Alta | | CORS configurato correttamente | Alta | | Header di sicurezza HTTP | Media | | Logging delle richieste sospette | Media | | Documentazione API aggiornata | Media | | Test di penetrazione periodici | Media | | Monitoraggio degli abusi | Media |

Conclusione

La sicurezza delle API non è un'opzione — è il fondamento di qualsiasi applicazione moderna. Le 10 vulnerabilità OWASP coprono la stragrande maggioranza degli attacchi reali. Iniziate da BOLA e autenticazione — sono le più critiche e le più diffuse.


Scansiona il tuo sito web gratis con WarDek — OWASP, NIS2, GDPR, AI Act in un'unica scansione.

#owasp#api#sicurezza#vulnerabilita#top-10

Scannez votre site gratuitement

WarDek détecte les vulnérabilités mentionnées dans cet article en quelques secondes.

Retour à Sécurité