Hacker News

CSP per Pentesters: comprendere i fondamenti

Politica di sicurezza dei contenuti principale per i test di penetrazione. Scopri come identificare le configurazioni errate del CSP e rafforzare le valutazioni della sicurezza delle applicazioni Web.

7 minimo letto

Mewayz Team

Editorial Team

Hacker News

Perché ogni Pentester deve padroneggiare la politica di sicurezza dei contenuti

La Content Security Policy (CSP) è diventata uno dei meccanismi di difesa lato browser più critici contro gli attacchi cross-site scripting (XSS), data injection e clickjacking. Tuttavia, negli impegni di penetration test, le intestazioni CSP rimangono uno dei controlli di sicurezza più frequentemente mal configurati e fraintesi. Uno studio del 2024 che ha analizzato oltre 1 milione di siti Web ha rilevato che solo il 12,8% ha implementato intestazioni CSP e, di questi, quasi il 94% conteneva almeno un punto debole delle politiche che poteva essere sfruttato. Per i pentester, comprendere il CSP non è facoltativo: rappresenta la differenza tra una valutazione superficiale e un report che effettivamente rafforza la posizione di sicurezza di un cliente.

Che tu stia conducendo valutazioni di applicazioni Web, caccia di bug o creando sicurezza in una piattaforma aziendale che gestisce dati sensibili dei clienti, la conoscenza del CSP è fondamentale. Questa guida analizza cos’è il CSP, come funziona dietro le quinte, dove fallisce e come i pentester possono valutare sistematicamente e aggirare le politiche deboli.

What Content Security Policy Actually Does

Fondamentalmente, CSP è un meccanismo di sicurezza dichiarativo fornito tramite un'intestazione di risposta HTTP (o, meno comunemente, un tag ). Indica al browser quali fonti di contenuto (script, stili, immagini, caratteri, frame e altro) possono essere caricate ed eseguite su una determinata pagina. Quando una risorsa viola la policy, il browser la blocca e facoltativamente segnala la violazione a un endpoint specificato.

La motivazione originale alla base del CSP era mitigare gli attacchi XSS. Le tradizionali difese XSS come la sanificazione dell'input e la codifica dell'output sono efficaci ma fragili: un singolo contesto mancato o un errore di codifica possono reintrodurre la vulnerabilità. Il CSP aggiunge un livello di difesa approfondito: anche se un utente malintenzionato inserisce un tag di script dannoso nel DOM, una policy adeguatamente configurata impedisce al browser di eseguirlo.

CSP operates on a whitelist model. Invece di cercare di bloccare contenuti notoriamente dannosi, definisce ciò che è esplicitamente consentito. Everything else is denied by default. Questa inversione del modello di sicurezza è potente in teoria, ma in pratica, mantenere policy rigorose su applicazioni web complesse – in particolare piattaforme che gestiscono dozzine di moduli integrati come CRM, fatturazione, analisi e sistemi di prenotazione – è notoriamente difficile.

Anatomy of a CSP Header: Directives and Sources

Un'intestazione CSP è composta da direttive, ciascuna delle quali controlla un tipo di risorsa specifico. Comprendere queste direttive è essenziale per qualsiasi pentester che valuti la politica di un obiettivo. Le direttive più importanti includono default-src (il fallback per qualsiasi direttiva non impostata esplicitamente), script-src (esecuzione JavaScript), style-src (CSS), img-src (immagini), connect-src (connessioni XHR, Fetch, WebSocket), frame-src (iframe incorporati) e object-src (plugin come applet Flash o Java).

Ogni direttiva accetta una o più espressioni di origine che definiscono le origini consentite. Questi vanno da nomi host specifici (https://cdn.example.com) a parole chiave più ampie:

'self': consente risorse dalla stessa origine del documento

💡 LO SAPEVI?

Mewayz sostituisce più di 8 strumenti business in un'unica piattaforma

CRM · Fatturazione · HR · Progetti · Prenotazioni · eCommerce · POS · Analisi. Piano gratuito per sempre disponibile.

Inizia gratis →

'none' — blocks all resources of that type

'unsafe-inline': consente script o stili in linea (neutralizza efficacemente la protezione XSS)

'unsafe-eval' — consente l'esecuzione di eval(), setTimeout(string) e simili codici dinamici

'nonce-{random}': consente script in linea specifici contrassegnati con un nonce crittografico corrispondente

'strict-dynamic': considera attendibili gli script caricati da script già attendibili, ignorando le liste consentite basate sull'host

data: — permits data URIs as content sources

Un'intestazione CSP reale potrebbe assomigliare a questa: Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.jsdelivr.net 'nonce-abc123'; style-src 'self' 'unsafe-inline'; img-src *; object-src 'none'. Come pentester, il tuo compito è leggere questa politica e identificare immediatamente dove è forte, dove è debole e dove è sfruttabile.

Common CSP Misconfigurations Pentesters Shoul

Frequently Asked Questions

What is Content Security Policy (CSP) and why should pentesters care?

Content Security Policy is a browser-side security mechanism that controls which resources a webpage can load, helping prevent XSS, data injection, and clickjacking attacks. Pentesters must understand CSP because it is one of the most frequently misconfigured security controls — studies show nearly 94% of deployed policies contain exploitable weaknesses. Mastering CSP fundamentals allows pentesters to identify critical vulnerabilities that automated scanners often miss entirely.

What are the most common CSP misconfigurations pentesters find?

The most common CSP misconfigurations include using unsafe-inline and unsafe-eval directives, overly permissive wildcard sources, missing frame-ancestors directives that enable clickjacking, and whitelisting entire CDN domains that host attacker-controllable content. Pentesters should also look for missing directives like base-uri and form-action, which can be leveraged for phishing and data exfiltration even when script controls appear strict.

How can businesses protect their web applications with proper CSP headers?

Businesses should start with a strict CSP using nonce-based or hash-based script allowlisting instead of domain whitelists. Deploy in report-only mode first to identify breakages before enforcement. Platforms like Mewayz, a 207-module business OS starting at $19/mo, help teams manage their web presence securely while following modern security best practices across all digital touchpoints.

What tools do pentesters use to evaluate CSP effectiveness?

Pentesters commonly use Google's CSP Evaluator, browser developer tools, and Burp Suite extensions to analyze CSP headers for weaknesses. Manual testing remains essential — automated tools miss context-dependent bypasses like JSONP endpoints and Angular template injection on whitelisted domains. A thorough assessment combines automated scanning with manual review of each directive against known bypass techniques and the application's specific technology stack.

Prova Mewayz Gratis

Piattaforma tutto-in-uno per CRM, fatturazione, progetti, HR e altro. Nessuna carta di credito richiesta.

Inizia a gestire la tua azienda in modo più intelligente oggi.

Unisciti a 30,000+ aziende. Piano gratuito per sempre · Nessuna carta di credito richiesta.

Lo hai trovato utile? Condividilo.

Pronto a metterlo in pratica?

Unisciti a 30,000+ aziende che utilizzano Mewayz. Piano gratuito per sempre — nessuna carta di credito richiesta.

Inizia prova gratuita →

Pronto a passare all'azione?

Inizia la tua prova gratuita Mewayz oggi

Piattaforma aziendale tutto-in-uno. Nessuna carta di credito richiesta.

Inizia gratis →

Prova gratuita di 14 giorni · Nessuna carta di credito · Disdici quando vuoi