Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 32621|Risposta: 2

[Vulnerabilità di sicurezza] Vulnerabilità mancanti o insicure nell'intestazione "Content-Security-Policy"

[Copiato link]
Pubblicato su 11/06/2021 10:36:39 | | | |
L'intestazione di risposta HTTP Content-Security-Policy permette al sito di controllare quali risorse l'agente utente carica per una data pagina. Tranne in casi particolari, il set di policy consiste principalmente nella specificazione dei punti di fine sorgente e script del server. Questo aiuterà a fermare attacchi cross-site scripting

Documentazione:Il login del link ipertestuale è visibile.

Questo articolo descrive la Politica di Sicurezza dei Contenuti del W3C, o CSP per abbreviare. Come suggerisce il nome, questa specifica è legata alla sicurezza dei contenuti ed è principalmente utilizzata per definire quali risorse una pagina può caricare e ridurre la presenza di XSS.

I primi Chrome supportavano il CSP tramite l'intestazione di risposta X-WebKit-CSP, mentre Firefox e IE supportavano X-Content-Security-Policy, e Chrome25 e Firefox23 iniziarono a supportare la standard Content-Security-Policy.

Possono essere raccolte informazioni sensibili su applicazioni web, come nomi utente, password, nomi di macchine e/o posizioni di file sensibili,
Gli utenti principianti possono essere persuasi a fornire informazioni sensibili come nomi utente, password, numeri di carta di credito, numeri di previdenza sociale, ecc


Per prima cosa, creiamo un nuovo progetto ASP.NET MVC, creiamo un nuovo script js e carichiamo dinamicamente il codice js delle statistiche di Baidu, come segue:




Come mostrato nella figura sopra, possiamo vedere il codice script JS introdotto con successo in una terza parte (Baidu), se c'è codice malevolo nel JS di terze parti, come il furto di cookie, la modifica di contenuti, il passaggio di link, ecc.

Come posso fermare l'introduzione di script JS di terze parti insicuri?

Soluzione alternativa

Testa di rispostaAggiungi "Contenuto-Sicurezza-Policy"Per esempio:

Content-Security-Policy: default-src 'self' Il login del link ipertestuale è visibile.;
                         connect-src 'nessuno';
Content-Security-Policy: connect-src Il login del link ipertestuale è visibile.
                         script-srcIl login del link ipertestuale è visibile.

direttiva
Esempio di valore di istruzione
illustrare
default-src
'Sé' cnd.a.com
Definisci la politica di caricamento predefinita per tutti i tipi di risorse (JS, IMAGE, CSS, WEB FONT, RICHIESTE AJAX, IFRAME, MULTIMEDIA, ECC.) e usa la politica predefinita per certi tipi di risorse se non esiste una policy definita separata.
script-src
'Sé' js.a.com
Definisci una politica di caricamento per JavaScript.
style-src
'Sé' css.a.com
Definisci una policy di caricamento per uno stile.
IMG-SRC
'Sé' img.a.com
Definisci una politica di caricamento per le immagini.
connect-src
'Sé'
Caricamento delle politiche per richieste da Ajax, WebSockets, ecc. Se non consentito, il browser simula una risposta con uno stato di 400.
font-src
font.a.com
Politica di caricamento per WebFont.
object-src
'Sé'
<object><embed> <applet> Politiche di caricamento per plugin come Flash introdotte per tag come , o .
media-src
media.a.com
<audio> <video> Strategie di caricamento per il multimediale HTML introdotte per tag come o .
frame-src
'Sé'
Politica di caricamento per i frame.
Sandbox
Forme permissivi
Abilita il sandbox (simile alla proprietà sandbox di un iframe) per la risorsa richiesta.
Report-uri
/report-uri
Indica al browser a quale indirizzo inviare le informazioni di registro se la risorsa richiesta non è consentita dalla politica. Speciale: Se vuoi che il browser riporti solo i log e non blocchi nulla, puoi invece usare l'intestazione Content-Security-Policy-Report-Only (Segnalazione Contenuta).

Modifichiamo il file web.config del progetto per aggiungere un'intestazione di risposta personalizzata come segue:

Ripeti il progetto come mostrato qui sotto:



Il browser ha bloccato con successo il caricamento degli script js di terze parti:

Rifiutato di caricare lo script 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319' perché viola la seguente direttiva della Politica di Sicurezza dei Contenuti: "script-src 'self' http://localhost:56888/ ". Si noti che 'script-src-elem' non è stato esplicitamente impostato, quindi 'script-src' viene usato come riserva.
(Fine)




Precedente:ASP.NET Ordine di esecuzione MVC HttpApplication
Prossimo:Per riassumere la popolare enciclopedia User-Agent del browser
Pubblicato su 17/12/2021 22:38:43 |
Impara !!!!!!!!!!!!!!
Pubblicato su 18/10/2022 17:16:34 |
Cerco da molto tempo e imparo un po'
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com