Was sind die CSRF-Verteidigungsmethoden?
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.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

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 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 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? 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

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.

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.

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.
