架构师_程序员_码农网

N Odzyskaj hasło
Zarejestruj się

QQ登录

Wystarczy jeden krok, aby rozpocząć

Wyszukiwanie
Wyświetl:19343|Odpowiedź: 2
打印 上一主题 下一主题

[ Luka w zabezpieczeniach]Brakujący lub niezabezpieczony nagłówek "Content-Security-Policy"

[ Kopiuj link]
P 跳转到指定楼层
właściciel
发表于 2021-6-11 10:36:39|只看该作者回帖奖励 | Odwróćprzeglądanie|Tryb odczytu
Nagłówek odpowiedzi HTTP Content-Security-Policy pozwala witrynom kontrolować, które zasoby są ładowane przez agentów użytkownika dla danej strony. Z wyjątkiem szczególnych przypadków, zestaw zasad obejmuje przede wszystkim określenie źródła serwera i punktu końcowego skryptu. Pomoże to powstrzymać ataki Cross-Site Script (Cross-Site Script)

Dokumentacja: https: //developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy

Ten artykuł dotyczy polityki bezpieczeństwa treści W3C, w skrócie CSP. Jak sama nazwa wskazuje, specyfikacja ta jest związana z bezpieczeństwem treści i służy głównie do definiowania zasobów, które można załadować na stronę w celu ograniczenia występowania XSS.

Wczesny Chrome obsługiwał CSP poprzez nagłówek odpowiedzi X-WebKit-CSP, podczas gdy Firefox i IE obsługiwały X-Content-Security-Policy, a Chrome25 i Firefox23 zaczęły obsługiwać standardową Content-Security-Policy.

mogą gromadzić poufne informacje o aplikacjach internetowych, takie jak nazwy użytkowników, hasła, nazwy maszyn i/lub lokalizacje poufnych plików
mogą nakłaniać użytkowników głównych do podawania poufnych informacji, takich jak nazwy użytkowników, hasła, numery kart kredytowych, numery ubezpieczenia społecznego itp.


Przede wszystkim tworzymy nowy projekt ASP.NET MVC z nowym skryptem js, aby dynamicznie ładować kod Baidu Statistics js w następujący sposób:




Jak pokazano powyżej, widzimy, że kod skryptu JS strony trzeciej (Baidu) został pomyślnie wprowadzony. Załóżmy, że w js strony trzeciej znajdują się złośliwe kody, takie jak: kradzież plików cookie, modyfikacja treści, przeskakiwanie linków i tak dalej.

Jak zatrzymać wprowadzanie niebezpiecznych skryptów js stron trzecich?

Rozwiązanie

Dodaj "Content-Security-Policy" w nagłówku odpowiedzi , przykład jak poniżej:

Content-Security-Policy: default-src 'self' http://example.com;
connect-src 'none';
Content-Security-Policy: connect-src http://example.com/; script-src http://example.com/;
script-src http://example.com/

Dyrektywy
Przykład wartości polecenia
Opis
default-src
'self' cnd.a.com
Definiuje domyślną politykę ładowania dla wszystkich typów zasobów (js, obraz, css, czcionka internetowa, żądanie ajax, iframe, multimedia itp.), jeśli nie ma oddzielnej polityki dla określonego typu zasobu, użyje domyślnej.
script-src
'self' js.
Określa zasady ładowania dla JavaScript.
style-src
'self' css.a.com
Definiuje zasady ładowania stylów.
img-src
'self' img.a.com
Definiuje zasady ładowania obrazów.
connect-src
'self'
Zasady ładowania dla żądań Ajax, WebSocket itp. Jeśli nie jest to dozwolone, przeglądarka będzie symulować odpowiedź ze statusem 400.
font-src
font.a.com
Zasady ładowania dla WebFont.
object-src
'self'
Zasady ładowania wtyczek, takich jak Flash, wprowadzanych przez znaczniki takie jak <object>, <embed> lub <applet>.
media-src
media.a.com
Zasady ładowania multimediów HTML wprowadzanych przez znaczniki takie jak <audio> lub <video>.
frame-src
'self'
Zasady ładowania dla ramek.
piaskownica
allow-forms
Włącza piaskownicę dla żądanych zasobów (podobnie do atrybutu piaskownicy ramki iframe).
report-uri
/report-uri
Informuje przeglądarkę, gdzie przesłać komunikaty dziennika, jeśli żądany zasób nie jest dozwolony przez politykę. Specjalne: Jeśli chcesz, aby przeglądarka zgłaszała tylko dzienniki i nie blokowała żadnych treści, możesz zamiast tego użyć nagłówka Content-Security-Policy-Report-Only.

Zmodyfikujmy plik web.config projektu, aby dodać niestandardowy nagłówek odpowiedzi w następujący sposób:

Uruchom ponownie projekt, jak pokazano poniżej:



Przeglądarka pomyślnie zablokowała ładowanie skryptu js innej firmy:

Odmówiono załadowania skryptu 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319', ponieważ narusza on następującą dyrektywę Content Security Dyrektywa zasad: "script-src 'self' http://localhost:56888/ ". Zauważ, że "script-src-elem" nie został jawnie ustawiony, więc "script-src" jest używany jako rezerwowy.
(koniec)




Poprzedni artykuł: Kolejność wykonywania ASP.NET MVC HttpApplication
Następny artykuł:Podsumowanie aktualnej kompilacji User-Agent popularnych przeglądarek
Kod Farmera, publikowany tylko w procesie praktyki, napotkane trudności techniczne, nie wprowadzają innych w błąd.
sigeshitou1987
发表于 2021-12-17 22:38:43|只看该作者
Dowiedz się !!!!!!!!!!!!!!!!
Kod sieci rolników, opublikowany tylko w trakcie praktyki, napotkał trudności techniczne, nie wprowadzaj innych w błąd.
ławka
发表于 2022-10-18 17:16:34|只看该作者
Długo szukałem sposobu na naukę
Kod sieci rolników, opublikowany tylko w trakcie praktyki, napotkał trudności techniczne, nie wprowadzaj innych w błąd.
Musisz się zalogować zanim będziesz mógł pisać ponownie Zaloguj się | Zarejestruj się

T a wersja integralnych zasad


ZASTRZEŻENIE: Wszelkie oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer są przeznaczone wyłącznie do celów edukacyjnych i badawczych; powyższe treści nie mogą być wykorzystywane do celów komercyjnych lub nielegalnych, w przeciwnym razie wszelkie konsekwencje będą ponoszone przez samych użytkowników. Ta strona zawiera informacje z sieci, spór o prawa autorskie nie ma nic wspólnego z tą stroną. Należy całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli podoba Ci się program, prosimy o wsparcie oryginalnego oprogramowania, kup rejestrację i uzyskaj lepszą oryginalną usługę. W przypadku jakichkolwiek naruszeń, prosimy o kontakt mailowy w celu ich rozwiązania.

Mail To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 01:40

Szybka odpowiedźPowrótdo góryPowrót do listy