Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 32621|Răspunde: 2

[Vulnerabilitate de securitate] Vulnerabilități lipsă sau nesigure în antetul "Content-Security-Policy"

[Copiază linkul]
Postat pe 11.06.2021 10:36:39 | | | |
Antetul de răspuns HTTP Content-Security-Policy permite site-ului să controleze ce resurse încarcă agentul utilizatorului pentru o anumită pagină. Cu excepția unor cazuri speciale, setul de politici implică în principal specificarea punctelor de final sursă și script ale serverului. Acest lucru va ajuta la oprirea atacurilor cross-site scripting

Documentație:Autentificarea cu hyperlink este vizibilă.

Acest articol descrie Politica de Securitate a Conținutului a W3C, sau CSP pe scurt. După cum sugerează și numele, această specificație este legată de securitatea conținutului și este folosită în principal pentru a defini ce resurse poate încărca o pagină și pentru a reduce apariția XSS.

Chrome timpuriu suporta CSP prin antul de răspuns X-WebKit-CSP, în timp ce Firefox și IE suportau X-Content-Security-Policy, iar Chrome25 și Firefox23 au început să suporte standardul Content-Security-Policy.

Informații sensibile despre aplicații web, cum ar fi nume de utilizator, parole, nume de mașini și/sau locații sensibile ale fișierelor, pot fi colectate
Utilizatorii începători pot fi convinși să furnizeze informații sensibile precum nume de utilizator, parole, numere de card de credit, numere de securitate socială etc


Mai întâi, să creăm un nou proiect ASP.NET MVC, să creăm un nou script js și să încărcăm dinamic codul js al statisticilor Baidu, după cum urmează:




Așa cum se vede în figura de mai sus, putem vedea codul scriptului JS introdus cu succes într-o terță parte (Baidu), dacă există cod malițios în JS-ul terț, cum ar fi furtul de cookie-uri, modificarea conținutului, săritul linkurilor etc.

Cum pot opri introducerea unor scripturi JS terțe nesigure?

Soluție alternativă

Cap de răspunsAdaugă "Conținut-Securitate-Politică"de exemplu:

Content-Security-Policy: default-src 'self' Autentificarea cu hyperlink este vizibilă.;
                         connect-src 'niciunul';
Content-Security-Policy: connect-src Autentificarea cu hyperlink este vizibilă.
                         script-srcAutentificarea cu hyperlink este vizibilă.

Directiva
Exemplu de valoare de instrucțiune
ilustra
Default-SRC
"sine" cnd.a.com
Definiți politica implicită de încărcare pentru toate tipurile de resurse (JS, IMAGE, CSS, WEB FONT, SOLICITĂRI AJAX, IFRAMES, MULTIMEDIA ETC.) și folosiți implicit pentru anumite tipuri de resurse dacă nu există o politică separată definită.
script-src
"sine" js.a.com
Definește o politică de încărcare pentru JavaScript.
style-src
"sine" css.a.com
Definește o politică de încărcare pentru un stil.
IMG-SRC
"sine" img.a.com
Definește o politică de încărcare pentru imagini.
connect-src
"sine"
Încărcarea politicilor pentru cererile de la Ajax, WebSockets etc. Dacă nu este permis, browserul simulează un răspuns cu un status de 400.
font-src
font.a.com
Politica de încărcare pentru WebFont.
object-src
"sine"
<object><embed> <applet> Politici de încărcare pentru pluginuri precum Flash introduse pentru etichete precum , sau .
media-src
media.a.com
<audio> <video> Strategii de încărcare pentru multimedia HTML introduse pentru etichete precum sau .
frame-src
"sine"
Politica de încărcare pentru cadre.
Cutie de nisip
Forme permise
Activează sandbox-ul (similar cu proprietatea sandbox a unui iframe) pentru resursa solicitată.
Raport-uri
/report-uri
Spune-i browserului la ce adresă să trimită informațiile din jurnal dacă resursa solicitată nu este permisă de politică. Special: Dacă vrei ca browserul să raporteze doar jurnalele și să nu blocheze nimic, poți folosi antetul Content-Security-Policy-Report-Only în schimb.

Să modificăm fișierul web.config al proiectului pentru a adăuga un antet de răspuns personalizat, după cum urmează:

Reluați proiectul așa cum este prezentat mai jos:



Browserul a blocat cu succes încărcarea scripturilor js terțe:

A refuzat să încarce scriptul 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319' deoarece încalcă următoarea directivă a Politicii de Securitate a Conținutului: "script-src 'self' http://localhost:56888/ ". Rețineți că 'script-src-elem' nu a fost setat explicit, așa că 'script-src' este folosit ca rezervă.
(Sfârșit)




Precedent:ASP.NET Ordinea execuției MVC HttpApplication
Următor:Pentru a rezuma populara enciclopedie User-Agent pentru browser
Postat pe 17.12.2021 22:38:43 |
Învață !!!!!!!!!!!!!!
Postat pe 18.10.2022 17:16:34 |
Caut de mult timp și am învățat puțin
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com