Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 32621|Svar: 2

[Säkerhetssårbarhet] Saknade eller osäkra sårbarheter i rubriken "Content-Security-Policy"

[Kopiera länk]
Publicerad på 2021-06-11 10:36:39 | | | |
HTTP-svarshuvudet Content-Security-Policy gör det möjligt för webbplatsen att styra vilka resurser användaragenten laddar för en given sida. Förutom i speciella fall handlar policyuppsättningen främst om att specificera serverns käll- och skriptändpunkter. Detta hjälper till att stoppa cross-site scripting-attacker

Dokumentation:Inloggningen med hyperlänken är synlig.

Denna artikel beskriver W3C:s innehållssäkerhetspolicy, eller CSP i korthet. Som namnet antyder är denna specifikation relaterad till innehållssäkerhet och används främst för att definiera vilka resurser en sida kan ladda och minska förekomsten av XSS.

Tidiga Chrome stödde CSP via X-WebKit-CSP-svarsheadern, medan Firefox och IE stödde X-Content-Security-Policy, och Chrome25 och Firefox23 började stödja den standardiserade Content-Security-Policy.

Känslig information om webbapplikationer, såsom användarnamn, lösenord, maskinnamn och/eller känsliga filplatser, kan samlas in
Nybörjaranvändare kan övertalas att lämna känslig information som användarnamn, lösenord, kreditkortsnummer, personnummer med mera


Först skapar vi ett nytt projekt ASP.NET MVC, skapar ett nytt js-skript och laddar dynamiskt in js-koden för Baidu-statistik, enligt följande:




Som visas i figuren ovan kan vi se JS-skriptkoden som framgångsrikt har införts i en tredje part (Baidu), om det finns skadlig kod i tredjeparts-JS:en, såsom att stjäla cookies, ändra innehåll, hoppa länkar, etc.

Hur kan jag stoppa införandet av osäkra JS-skript från tredje part?

Lösningslösning

ResponshuvudLägg till "Innehålls-Säkerhetspolicy"till exempel:

Content-Security-Policy: default-src 'self' Inloggningen med hyperlänken är synlig.;
                         connect-src 'ingen';
Content-Security-Policy: connect-src Inloggningen med hyperlänken är synlig.
                         script-srcInloggningen med hyperlänken är synlig.

Direktiv
Exempel på instruktionsvärde
illustrera
default-src
'själv' cnd.a.com
Definiera standardladdningspolicyn för alla typer av resurser (JS, IMAGE, CSS, WEB FONT, AJAX-förfrågningar, iframes, multimedia, etc.), och använd standardinställningen för vissa typer av resurser om det inte finns någon separat definierad policy.
script-src
'själv' js.a.com
Definiera en laddningspolicy för JavaScript.
Style-SRC
'själv' css.a.com
Definiera en laddningspolicy för en stil.
img-src
'själv' img.a.com
Definiera en laddningspolicy för bilder.
connect-src
'själv'
Laddningspolicyer för förfrågningar från Ajax, WebSockets, etc. Om det inte är tillåtet simulerar webbläsaren ett svar med status 400.
font-src
font.a.com
Laddningspolicy för WebFont.
objekt-src
'själv'
<object><embed> <applet> Laddningspolicyer för plugins som flash infördes för taggar som , eller .
Media-SRC
media.a.com
<audio> <video> Laddningsstrategier för HTML-multimedia införda för taggar som eller .
Frame-src
'själv'
Laddningspolicy för ramar.
Sandlåda
tillåtelseformer
Aktivera sandlåda (liknande sandbox-egenskapen för en iframe) för den begärda resursen.
report-uri
/report-uri
Berätta för webbläsaren vilken adress logginformationen ska skickas till om den begärda resursen inte tillåts enligt policyn. Speciellt: Om du vill att webbläsaren endast ska rapportera loggar och inte blockera något kan du använda rubriken Content-Security-Policy-Report-Only istället.

Låt oss ändra projektets web.config-fil för att lägga till en anpassad svarsheader enligt följande:

Kör om projektet enligt nedan:



Webbläsaren blockerade framgångsrikt inläsningen av tredjeparts js-skript:

Vägrade ladda skriptet 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319' eftersom det bryter mot följande direktiv för innehållssäkerhetspolicy: "script-src 'self' http://localhost:56888/ ". Observera att 'script-src-elem' inte uttryckligen sattes, så 'script-src' används som reservplan.
(Slut)




Föregående:ASP.NET MVC HttpApplication-exekveringsordning
Nästa:För att sammanfatta den populära webbläsarens User-Agent-encyklopedi
Publicerad på 2021-12-17 22:38:43 |
Lär dig !!!!!!!!!!!!!!
Publicerad på 2022-10-18 17:16:34 |
Jag har letat länge och lärt mig lite
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com