Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 32621|Svar: 2

[Sikkerhedssårbarhed] Manglende eller usikre sårbarheder i "Content-Security-Policy"-headeren

[Kopier link]
Opslået på 11/06/2021 10.36.39 | | | |
HTTP-responsheaderen Content-Security-Policy gør det muligt for siden at styre, hvilke ressourcer brugeragenten indlæser for en given side. Undtagen i særlige tilfælde involverer politikkerne hovedsageligt at specificere kilde- og script-endepunkterne for serveren. Dette vil hjælpe med at stoppe cross-site scripting-angreb

Dokumentation:Hyperlink-login er synlig.

Denne artikel beskriver W3C's Content Security Policy, eller CSP for kort. Som navnet antyder, er denne specifikation relateret til indholdssikkerhed og bruges primært til at definere, hvilke ressourcer en side kan indlæse, og reducere forekomsten af XSS.

Tidlige Chrome understøttede CSP via X-WebKit-CSP svarheaderen, mens Firefox og IE understøttede X-Content-Security-Policy, og Chrome25 og Firefox23 begyndte at understøtte den standard Content-Security-Policy.

Følsomme oplysninger om webapplikationer, såsom brugernavne, adgangskoder, maskinnavne og/eller følsomme filplaceringer, kan indsamles
Begyndere kan blive overtalt til at oplyse følsomme oplysninger som brugernavne, adgangskoder, kreditkortnumre, personnumre osv


Først opretter vi et nyt projekt ASP.NET MVC, opretter et nyt js-script og indlæser dynamisk js-koden for Baidu-statistikker, som følger:




Som vist i figuren ovenfor kan vi se JS-scriptkoden, der er blevet introduceret med succes i en tredjepart (Baidu), hvis der er skadelig kode i tredjeparts JS, såsom at stjæle cookies, ændre indhold, hoppe links osv.

Hvordan kan jeg stoppe introduktionen af usikre tredjeparts JS-scripts?

Workaround

ResponshovedTilføj "Indhold-Sikkerhedspolitik"for eksempel:

Content-Security-Policy: default-src 'self' Hyperlink-login er synlig.;
                         connect-src 'ingen';
Content-Security-Policy: connect-src Hyperlink-login er synlig.
                         script-srcHyperlink-login er synlig.

Direktiv
Eksempel på instruktionsværdi
illustrere
default-src
'selv' cnd.a.com
Definer standardindlæsningspolitikken for alle typer ressourcer (JS, IMAGE, CSS, WEB FONT, AJAX-anmodninger, iframes, multimedier osv.), og brug standardindstillingen for visse typer ressourcer, hvis der ikke findes en separat defineret politik.
script-src
'selv' js.a.com
Definér en indlæsningspolitik for JavaScript.
Style-SRC
'selv' css.a.com
Definér en indlæsningspolitik for en stil.
img-src
'selv' img.a.com
Definer en indlæsningspolitik for billeder.
connect-src
'selv'
Indlæsningspolitikker for forespørgsler fra Ajax, WebSockets osv. Hvis det ikke er tilladt, simulerer browseren et svar med status 400.
font-src
font.a.com
Indlæsningspolitik for WebFont.
Objekt-SRC
'selv'
<object><embed> <applet> Indlæsningspolitikker for plugins som flash blev indført for tags som , eller .
Media-SRC
media.a.com
<audio> <video> Indlæsningsstrategier for HTML-multimedier introduceret for tags som eller .
frame-src
'selv'
Indlæsningspolitik for rammer.
sandkasse
Tilladt-former
Aktivér sandbox (svarende til sandbox-egenskaben for en iframe) for den ønskede ressource.
Report-uri
/report-uri
Fortæl browseren, hvilken adresse loginformationen skal sendes til, hvis den anmodede ressource ikke er tilladt af politikken. Speciel: Hvis du vil have browseren til kun at rapportere logfiler og ikke blokere noget, kan du bruge headeren Indhold-Sikkerhed-Politik-Rapport-Kun i stedet.

Lad os ændre projektets web.config-fil for at tilføje en brugerdefineret svarheader som følger:

Gentag projektet som vist nedenfor:



Browseren blokerede med succes indlæsningen af tredjeparts js-scripts:

Nægtede at indlæse scriptet 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319', fordi det overtræder følgende Content Security Policy-direktiv: "script-src 'self' http://localhost:56888/ ". Bemærk, at 'script-src-elem' ikke blev sat eksplicit, så 'script-src' bruges som en backup.
(Slut)




Tidligere:ASP.NET MVC HttpApplikations eksekveringsrækkefølge
Næste:For at opsummere den populære browser-User-Agent-encyklopædi
Opslået på 17/12/2021 22.38.43 |
Lær !!!!!!!!!!!!!!
Opslået på 18/10/2022 17.16.34 |
Jeg har ledt længe og lært lidt
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com