Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 32621|Antwort: 2

[Sicherheitslücke] Fehlende oder unsichere Schwachstellen im Header "Content-Security-Policy"

[Link kopieren]
Veröffentlicht am 11.06.2021 10:36:39 | | | |
Der HTTP-Response-Header Content-Security-Policy ermöglicht es der Website, zu steuern, welche Ressourcen der User Agent für eine bestimmte Seite lädt. Mit Ausnahme von Sonderfällen besteht das Richtlinienset hauptsächlich darin, die Quell- und Skript-Endpunkte des Servers anzugeben. Dies hilft, Crosssite-Scripting-Angriffe zu verhindern

Dokumentation:Der Hyperlink-Login ist sichtbar.

Dieser Artikel beschreibt die Content Security Policy des W3C, kurz CSP. Wie der Name schon sagt, steht diese Spezifikation im Zusammenhang mit Inhaltssicherheit und dient hauptsächlich dazu, zu definieren, welche Ressourcen eine Seite laden darf, und um das Auftreten von XSS zu reduzieren.

Frühe Chrome unterstützte CSP über den X-WebKit-CSP-Response-Header, während Firefox und IE X-Content-Security-Policy unterstützten, und Chrome25 sowie Firefox23 begannen, die Standard-Content-Security-Policy zu unterstützen.

Sensible Informationen über Webanwendungen, wie Benutzernamen, Passwörter, Maschinennamen und/oder sensible Dateistandorte, können gesammelt werden
Anfänger können dazu gebracht werden, sensible Informationen wie Benutzernamen, Passwörter, Kreditkartennummern, Sozialversicherungsnummern usw. anzugeben


Zuerst erstellen wir ein neues Projekt ASP.NET MVC, erstellen ein neues JS-Skript und laden dynamisch den JS-Code der Baidu-Statistiken, wie folgt:




Wie in der obigen Abbildung gezeigt, können wir den JS-Skriptcode sehen, der erfolgreich in einen Drittanbieter (Baidu) eingeführt wurde, wenn es bösartigen Code im Drittanbieter-JS gibt, wie zum Beispiel das Stehlen von Cookies, das Ändern von Inhalten, das Überbrücken von Links usw.

Wie kann ich die Einführung unsicherer JS-Skripte von Drittanbietern verhindern?

Workaround

AntwortkopfFügen Sie "Inhalts-Sicherheitsrichtlinie" hinzuZum Beispiel:

Content-Security-Policy: default-src 'self' Der Hyperlink-Login ist sichtbar.;
                         connect-src 'keine';
Content-Security-Policy: connect-src Der Hyperlink-Login ist sichtbar.
                         script-srcDer Hyperlink-Login ist sichtbar.

Direktive
Beispiel für den Befehlswert
illustrieren
default-src
'Selbst' cnd.a.com
Definieren Sie die Standardladerichtlinie für alle Arten von Ressourcen (JS, IMAGE, CSS, Webschrift, AJAX-Anfragen, iframes, Multimedia usw.) und verwenden Sie die Standardrichtlinie für bestimmte Ressourcentypen, wenn keine separate definierte Richtlinie vorhanden ist.
script-src
'Selbst' js.a.com
Definiere eine Laderichtlinie für JavaScript.
style-src
'Selbst' css.a.com
Definiere eine Laderichtlinie für einen Stil.
img-src
'Selbst' img.a.com
Definieren Sie eine Laderichtlinie für Bilder.
connect-src
'selbst'
Laderichtlinien für Anfragen von Ajax, WebSockets usw. Wenn nicht erlaubt, simuliert der Browser eine Antwort mit Status 400.
font-src
font.a.com
Laderichtlinie für WebFont.
Objekt-SRC
'selbst'
<object><embed> <applet> Laderichtlinien für Plugins wie Flash wurden für Tags wie , oder eingeführt.
Media-SRC
media.a.com
<audio> <video> Ladestrategien für HTML-Multimedia eingeführt für Tags wie oder .
frame-src
'selbst'
Ladepolitik für Frames.
Sandbox
Allow-Formen
Aktiviere Sandbox (ähnlich der Sandbox-Eigenschaft eines iframes) für die angeforderte Ressource.
report-uri
/report-uri
Teilen Sie dem Browser mit, an welche Adresse Loginformationen gesendet werden soll, falls die angeforderte Ressource durch die Richtlinie nicht erlaubt ist. Spezial: Wenn du möchtest, dass der Browser nur Protokolle meldet und nichts blockiert, kannst du stattdessen den Header Content-Security-Policy-Report-Only verwenden.

Lassen Sie uns die Web.config-Datei des Projekts modifizieren, um einen benutzerdefinierten Antwort-Header wie folgt hinzuzufügen:

Wiederholen Sie das Projekt wie unten gezeigt:



Der Browser hat erfolgreich das Laden von Drittanbieter-JS-Skripten blockiert:

Wurde das Laden des Skripts 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319' verweigert, weil es gegen die folgende Richtlinie zur Inhaltssicherheitsrichtlinie verstößt: "script-src 'self'" http://localhost:56888/ ". Beachten Sie, dass 'script-src-elem' nicht explizit festgelegt wurde, sodass 'script-src' als Rückgriff verwendet wird.
(Ende)




Vorhergehend:ASP.NET MVC HttpAnwendungs-Ausführungsreihenfolge
Nächster:Um die beliebte Browser-User-Agent-Enzyklopädie zusammenzufassen
Veröffentlicht am 17.12.2021 22:38:43 |
Lernen Sie !!!!!!!!!!!!!!
Veröffentlicht am 18.10.2022 17:16:34 |
Ich suche schon lange und lerne ein bisschen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com