Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 32621|Antwoord: 2

[Beveiligingskwetsbaarheid] Ontbrekende of onveilige kwetsbaarheden in de kop "Content-Security-Policy"

[Link kopiëren]
Geplaatst op 11-06-2021 10:36:39 | | | |
De HTTP-responsheader Content-Security-Policy stelt de site in staat te bepalen welke bronnen de user agent voor een bepaalde pagina laadt. Behalve in speciale gevallen bestaat de beleidsset voornamelijk uit het specificeren van de bron- en scripteindpunten van de server. Dit helpt om cross-site scripting-aanvallen te voorkomen

Documentatie:De hyperlink-login is zichtbaar.

Dit artikel beschrijft het Content Security Policy van het W3C, of kortweg CSP. Zoals de naam al aangeeft, heeft deze specificatie betrekking op contentbeveiliging en wordt ze vooral gebruikt om te bepalen welke bronnen een pagina kan laden en zo het voorkomen van XSS te verminderen.

Vroege Chrome ondersteunde CSP via de X-WebKit-CSP response header, terwijl Firefox en IE X-Content-Security-Policy ondersteunden, en Chrome25 en Firefox23 begonnen het standaard Content-Security-Policy te ondersteunen.

Gevoelige informatie over webapplicaties, zoals gebruikersnamen, wachtwoorden, machinenamen en/of gevoelige bestandslocaties, kan worden verzameld
Beginnende gebruikers kunnen worden overgehaald om gevoelige informatie te verstrekken zoals gebruikersnamen, wachtwoorden, creditcardnummers, sofinummers, enzovoort


Laten we eerst een nieuw project aanmaken ASP.NET MVC, een nieuw js-script aanmaken en de js-code van Baidu-statistieken dynamisch laden, als volgt:




Zoals te zien is in de bovenstaande figuur, kunnen we de JS-scriptcode zien die succesvol is geïntroduceerd in een derde partij (Baidu), als er kwaadaardige code in de JS van derden zit, zoals het stelen van cookies, het wijzigen van inhoud, het springen van links, enzovoort.

Hoe kan ik de introductie van onveilige JS-scripts van derden voorkomen?

Workaround

ResponskopVoeg "Content-Security-Policy" toe.bijvoorbeeld:

Content-Security-Policy: default-src 'self' De hyperlink-login is zichtbaar.;
                         connect-src 'geen';
Content-Security-Policy: connect-src De hyperlink-login is zichtbaar.
                         script-srcDe hyperlink-login is zichtbaar.

Richtlijn
Voorbeeld van instructiewaarde
illustreren
default-src
'zelf' cnd.a.com
Definieer het standaard laadbeleid voor alle soorten bronnen (JS, AFBEELDING, CSS, WEBLETTERTYPE, AJAX-verzoeken, iframes, multimedia, enz.), en gebruik het standaardbeleid voor bepaalde soorten resources als er geen apart gedefinieerd beleid is.
script-src
'zelf' js.a.com
Definieer een laadbeleid voor JavaScript.
Style-SRC
'zelf' css.a.com
Definieer een laadbeleid voor een stijl.
IMG-SRC
'zelf' img.a.com
Definieer een laadbeleid voor afbeeldingen.
connect-src
'zelf'
Laadbeleid voor verzoeken van Ajax, WebSockets, enzovoort. Als het niet is toegestaan, simuleert de browser een antwoord met een status van 400.
font-src
font.a.com
Laadbeleid voor WebFont.
object-src
'zelf'
<object><embed> <applet> Laadbeleid voor plugins zoals Flash werd geïntroduceerd voor tags zoals , of .
Media-SRC
media.a.com
<audio> <video> Laadstrategieën voor HTML-multimedia geïntroduceerd voor tags zoals of .
frame-src
'zelf'
Laadbeleid voor frames.
Sandbox
toelaat-vormen
Schakel sandbox in (vergelijkbaar met de sandbox-eigenschap van een iframe) voor de gevraagde resource.
Report-uri
/report-uri
Vertel de browser naar welk adres loggegevens moeten worden verzonden als de gevraagde bron niet is toegestaan door het beleid. Special: Als je wilt dat de browser alleen logs rapporteert en niets blokkeert, kun je in plaats daarvan de header Content-Security-Policy-Report-Only gebruiken.

Laten we het web.config-bestand van het project aanpassen om een aangepaste response-header toe te voegen als volgt:

Herhaal het project zoals hieronder weergegeven:



De browser blokkeerde succesvol het laden van JS-scripts van derden:

Weigerde het script 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319' te laden omdat het de volgende Content Security Policy richtlijn schendt: "script-src 'self' http://localhost:56888/ ". Let op dat 'script-src-elem' niet expliciet is ingesteld, dus 'script-src' wordt als vangnet gebruikt.
(Einde)




Vorig:ASP.NET MVC HttpApplication uitvoeringsvolgorde
Volgend:Om de populaire browser User-Agent encyclopedie samen te vatten
Geplaatst op 17-12-2021 22:38:43 |
Leer !!!!!!!!!!!!!!
Geplaatst op 18-10-2022 17:16:34 |
Ik ben al lang op zoek en leer een beetje
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com