Heim Betrieb und Instandhaltung Sicherheit Was sind die CSRF-Verteidigungsmethoden?

Was sind die CSRF-Verteidigungsmethoden?

Jun 29, 2020 am 09:08 AM
csrf 防御方法

Csrf-Verteidigungsmethoden umfassen: 1. Überprüfen Sie das HTTP-Referer-Feld. 2. Fügen Sie der Anforderungsadresse ein Token hinzu und überprüfen Sie es. 3. Passen Sie Attribute im HTTP-Header an und überprüfen Sie es. CSRF ist eine Angriffsmethode, die Benutzer dazu zwingt, unbeabsichtigte Vorgänge an der Webanwendung auszuführen, bei der sie gerade angemeldet sind.

Was sind die CSRF-Verteidigungsmethoden?

csrf ist eine Angriffsmethode, die Benutzer dazu zwingt, unbeabsichtigte Vorgänge an der aktuell angemeldeten Webanwendung auszuführen.

csrf-Abwehrmethoden:

Es gibt derzeit drei Hauptstrategien zur Abwehr von CSRF-Angriffen:

1. Überprüfen Sie das HTTP-Referer-Feld.

2. In der Anforderungsadresse Token hinzufügen und überprüfen;

3. Passen Sie die Attribute im HTTP-Header an und überprüfen Sie.

Lassen Sie uns im Detail darüber sprechen:

(1) Überprüfen Sie das HTTP-Referer-Feld

Gemäß dem HTTP-Protokoll gibt es ein Feld in der HTTP-Header namens Referer, der die Quelladresse der HTTP-Anfrage aufzeichnet. Normalerweise stammen Anfragen zum Zugriff auf eine sichere, eingeschränkte Seite von derselben Website. Wenn ein Hacker einen CSRF-Angriff auf die Website einer Bank durchführen möchte, kann er nur eine Anfrage auf seiner eigenen Website erstellen. Wenn ein Benutzer eine Anfrage über die Website des Hackers an die Bank sendet, verweist der Referrer der Anfrage auf die eigene Website des Hackers .

Um sich gegen CSRF-Angriffe zu schützen, muss die Website der Bank daher nur ihren Referrer-Wert für jede Übertragungsanfrage überprüfen. Wenn es sich um einen Domainnamen handelt, der mit bank.example beginnt, bedeutet dies, dass die Anfrage von der Bank stammt Website selbst. Ja, legal. Handelt es sich bei dem Referrer um eine andere Website, handelt es sich möglicherweise um einen CSRF-Angriff eines Hackers und die Anfrage wird abgelehnt.

Der offensichtliche Vorteil dieser Methode besteht darin, dass sie einfach und leicht zu implementieren ist. Normale Website-Entwickler müssen sich keine Sorgen über CSRF-Schwachstellen machen. Sie müssen lediglich allen sicherheitsrelevanten Anfragen einen Interceptor hinzufügen das Ende, um den Referrer-Wert zu überprüfen. Insbesondere für das aktuell vorhandene System besteht keine Notwendigkeit, den vorhandenen Code und die Logik des aktuellen Systems zu ändern, es besteht kein Risiko und es ist sehr praktisch.

(2) Token zur Anfrageadresse hinzufügen und überprüfen

Der Grund für den Erfolg des CSRF-Angriffs liegt darin, dass der Hacker die Anfrage des Benutzers vollständig fälschen kann Die Anforderungen in der Anforderung Alle Benutzerauthentifizierungsinformationen sind in Cookies vorhanden, sodass Hacker direkt die eigenen Cookies des Benutzers verwenden können, um die Sicherheitsüberprüfung zu bestehen, ohne die Authentifizierungsinformationen zu kennen.

Um CSRF zu widerstehen, besteht der Schlüssel darin, Informationen in die Anfrage einzufügen, die Hacker nicht fälschen können, und diese Informationen sind im Cookie nicht vorhanden. Sie können der HTTP-Anfrage ein zufällig generiertes Token als Parameter hinzufügen und auf der Serverseite einen Interceptor erstellen, um das Token zu überprüfen. Wenn in der Anfrage kein Token vorhanden ist oder der Token-Inhalt falsch ist, wird davon ausgegangen, dass dies der Fall ist ein CSRF-Angriff und die Anfrage wird abgelehnt.

(3) Passen Sie Attribute im HTTP-Header an und überprüfen Sie

Diese Methode verwendet auch Token zur Überprüfung. Der Unterschied zur vorherigen Methode besteht darin, dass hier anstelle der Wenn Sie das Token als Parameter in der HTTP-Anfrage verwenden, fügt es es in ein benutzerdefiniertes Attribut im HTTP-Header ein. Über die XMLHttpRequest-Klasse können Sie das HTTP-Header-Attribut csrftoken allen Anforderungen dieses Typs gleichzeitig hinzufügen und den Token-Wert darin einfügen.

Dies beseitigt die Unannehmlichkeiten beim Hinzufügen eines Tokens zur Anforderung in der vorherigen Methode. Gleichzeitig wird die über XMLHttpRequest angeforderte Adresse nicht in der Adressleiste des Browsers aufgezeichnet, und es besteht kein Grund zur Sorge Token wird über den Referrer an andere Websites weitergegeben.

Diese Methode weist jedoch große Einschränkungen auf. Die XMLHttpRequest-Anforderung wird normalerweise für die teilweise asynchrone Aktualisierung der Seite in der Ajax-Methode verwendet. Nicht alle Anforderungen sind für die Initiierung mit dieser Klasse geeignet, und die durch diese Klassenanforderung erhaltene Seite kann vom Browser nicht aufgezeichnet werden, sodass vorwärts und rückwärts , und Aktualisierung kann durchgeführt werden, Sammlung und andere Vorgänge bringen Unannehmlichkeiten für Benutzer mit sich.

Wenn Sie diese Methode zum Schutz verwenden möchten, müssen Sie außerdem bei älteren Systemen, die nicht über CSRF-Schutz verfügen, alle Anforderungen in XMLHttpRequest-Anforderungen ändern. Dadurch wird fast die gesamte Website neu geschrieben, was zweifellos kostspielig ist . Es ist inakzeptabel.

Wenn Sie mehr über verwandte Themen erfahren möchten, können Sie die chinesische PHP-Website besuchen.

Das obige ist der detaillierte Inhalt vonWas sind die CSRF-Verteidigungsmethoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Injektionsangriffe verhindern: Java-Sicherheitskontrollmethoden Injektionsangriffe verhindern: Java-Sicherheitskontrollmethoden Jun 30, 2023 pm 05:16 PM

Java ist eine weit verbreitete Programmiersprache, mit der verschiedene Arten von Anwendungen entwickelt werden. Aufgrund ihrer Beliebtheit und weiten Verbreitung sind Java-Programme jedoch auch zu einem Ziel von Hackern geworden. In diesem Artikel wird erläutert, wie Sie mit einigen Methoden Java-Programme vor der Bedrohung durch Befehlsinjektionsangriffe schützen können. Bei einem Command-Injection-Angriff handelt es sich um eine Hacking-Technik, die unkontrollierte Vorgänge ausführt, indem sie bösartige Befehle in Eingabeparameter einfügt. Diese Art von Angriff kann es Hackern ermöglichen, Systembefehle auszuführen, auf vertrauliche Daten zuzugreifen oder Systemrechte zu erlangen. Um dies zu verhindern

HTTP-Request-Sniffing-Schutzmethode im Nginx-Reverse-Proxy HTTP-Request-Sniffing-Schutzmethode im Nginx-Reverse-Proxy Jun 11, 2023 am 08:12 AM

Mit der Entwicklung des Internets sind Webserver und Anwendungen immer komplexer geworden und Sicherheitsangriffe haben nach und nach zugenommen. Nginx ist eines der am weitesten verbreiteten Tools in der Webserver- und Lastausgleichstechnologie. Der Reverse-Proxy-Mechanismus von Nginx kann ihn zu einem zuverlässigen Anwendungsserver machen, ist aber auch ein weit verbreitetes Angriffsziel. In diesem Artikel erfahren Sie, wie Sie sich im Nginx-Reverse-Proxy gegen HTTP-Request-Sniffing-Angriffe verteidigen können. Was ist ein HTTP-Request-Sniffing-Angriff? HTTP-Request-Sniffing-Angriffe kommen häufig vor

Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel Aug 13, 2023 pm 04:43 PM

Schutz vor Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) in Laravel Mit der Entwicklung des Internets sind Netzwerksicherheitsprobleme immer ernster geworden. Unter ihnen gehören Cross-SiteScripting (XSS) und Cross-SiteRequestForgery (CSRF) zu den häufigsten Angriffsmethoden. Laravel bietet als beliebtes PHP-Entwicklungsframework Benutzern eine Vielzahl von Sicherheitsmechanismen

Vergleichende Analyse der domänen- und standortübergreifenden Anfragefälschung von PHP-Sitzungen Vergleichende Analyse der domänen- und standortübergreifenden Anfragefälschung von PHP-Sitzungen Oct 12, 2023 pm 12:58 PM

Vergleichende Analyse der domänen- und standortübergreifenden Anforderungsfälschung von PHPSession Mit der Entwicklung des Internets ist die Sicherheit von Webanwendungen besonders wichtig geworden. PHPSession ist ein häufig verwendeter Authentifizierungs- und Sitzungsverfolgungsmechanismus bei der Entwicklung von Webanwendungen, während Cross-Origin-Anfragen und Cross-Site-Request-Forgery (CSRF) zwei große Sicherheitsbedrohungen darstellen. Um die Sicherheit von Benutzerdaten und Anwendungen zu schützen, müssen Entwickler den Unterschied zwischen domänenübergreifender Sitzung und CSRF verstehen und übernehmen

PHP Framework-Sicherheitsleitfaden: Wie verhindert man CSRF-Angriffe? PHP Framework-Sicherheitsleitfaden: Wie verhindert man CSRF-Angriffe? Jun 01, 2024 am 10:36 AM

PHP Framework-Sicherheitsleitfaden: Wie verhindert man CSRF-Angriffe? Ein Cross-Site Request Forgery (CSRF)-Angriff ist eine Art Netzwerkangriff, bei dem ein Angreifer einen Benutzer dazu verleitet, unbeabsichtigte Aktionen innerhalb der Webanwendung des Opfers auszuführen. Wie funktioniert CSRF? CSRF-Angriffe machen sich die Tatsache zunutze, dass die meisten Webanwendungen das Senden von Anfragen zwischen verschiedenen Seiten innerhalb desselben Domänennamens ermöglichen. Der Angreifer erstellt eine bösartige Seite, die Anfragen an die Anwendung des Opfers sendet und so nicht autorisierte Aktionen auslöst. Wie kann man CSRF-Angriffe verhindern? 1. Anti-CSRF-Token verwenden: Weisen Sie jedem Benutzer ein eindeutiges Token zu und speichern Sie es in der Sitzung oder im Cookie. Fügen Sie in Ihren Antrag ein ausgeblendetes Feld für die Übermittlung dieses Tokens ein

CSRF-Angriff in PHP CSRF-Angriff in PHP May 25, 2023 pm 08:31 PM

Mit der kontinuierlichen Weiterentwicklung des Internets gibt es immer mehr Webanwendungen, aber auch Sicherheitsaspekte geraten immer mehr in den Fokus. CSRF-Angriffe (CrossSiteRequestForgery, Cross-Site-Request-Forgery) sind ein häufiges Netzwerksicherheitsproblem. Was ist ein CSRF-Angriff? Der sogenannte CSRF-Angriff bedeutet, dass der Angreifer die Identität des Benutzers stiehlt und im Namen des Benutzers illegale Operationen ausführt. Laienhaft ausgedrückt bedeutet dies, dass der Angreifer den Anmeldestatus des Benutzers nutzt, um ohne Wissen des Benutzers illegale Vorgänge durchzuführen.

Was ist Cross-Site-Anforderungsfälschung (CSRF) und wie implementieren Sie den CSRF-Schutz in PHP? Was ist Cross-Site-Anforderungsfälschung (CSRF) und wie implementieren Sie den CSRF-Schutz in PHP? Apr 07, 2025 am 12:02 AM

In PHP können Sie CSRF -Angriffe effektiv verhindern, indem Sie unvorhersehbare Token verwenden. Spezifische Methoden umfassen: 1. CSRF -Token in der Form erzeugen und einbetten; 2. Überprüfen Sie die Gültigkeit des Tokens bei der Bearbeitung der Anfrage.

Was ist der Prozess und das Prinzip der Verteidigung von SpringBoot gegen CSRF-Angriffe? Was ist der Prozess und das Prinzip der Verteidigung von SpringBoot gegen CSRF-Angriffe? May 12, 2023 pm 09:13 PM

CSRF-Prinzip Wenn wir uns gegen CSRF-Angriffe verteidigen wollen, müssen wir zunächst verstehen, was ein CSRF-Angriffsprozess ist. Lassen Sie uns den CSRF-Angriffsprozess anhand der folgenden Abbildung klären: Tatsächlich ist dieser Prozess sehr einfach: 1. Nehmen Sie an, dass der Benutzer öffnet die China Merchants Online Banking-Website und meldet sich an. 2. Nach erfolgreicher Anmeldung sendet das Online-Banking das Cookie an das Frontend zurück und der Browser speichert das Cookie. 3. Der Benutzer öffnete einen neuen Tab im Browser, ohne sich beim Online-Banking abzumelden, und besuchte dann eine gefährliche Website. 4. Auf dieser gefährlichen Website befindet sich ein Hyperlink, und die Adresse des Hyperlinks verweist auf China Merchants Online Banking. 4. Der Benutzer klickt auf diesen Link, da dieser Hyperlink automatisch das im Browser gespeicherte Cookie enthält.

See all articles