Was ist CSRF?
CSRF (Cross-Site-Anfrage), chinesischer Name: Cross-Site-Anfrage-Fälschung, auch bekannt als: One-Klick-Angriffs-/Sitzungsreiten, Abkürzung: CSRF/XSRF.
Was kann CSRF tun?
Sie können CSRF -Angriffe wie folgt verstehen: Der Angreifer hat Ihre Identität gestohlen und eine böswillige Anfrage in Ihrem Namen gesendet. Dinge, die CSRF tun können, umfassen: Senden von E -Mails, Senden von Nachrichten, Stehlen Ihres Kontos und sogar Kauf von Waren, Übertragung von Geld von virtuellen Währungen ... Zu den verursachten Problemen gehören: Leckage und Sicherheit von Privatsphäre und Sicherheit im Eigentum.
Aktueller Status der CSRF -Verwundbarkeit
Die CSRF -Angriffsmethode wurde im Jahr 2000 von dem ausländischen Sicherheitspersonal vorgeschlagen, aber erst 2006 wurde es in China beachtet. Im Jahr 2008 wurden CSRF -Schwachstellen in vielen großen Gemeinden und interaktiven Websites im In- und Ausland entlarvt, wie z.
In einem Spring -Boot -Projekt müssen CSRF -Angriffe verhindert werden, und nur relevante Filter in der Frühjahrssicherheit können eingeführt werden.
Fügen Sie relevante Abhängigkeiten in POM hinzu
<Deangcies> <depeping> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Freemarker </artifactId> </abhängig> <!-Sicherheit (nur für CSRF-Schutz verwendet)-> <Deponcus> <gruppe> org.springFramework.security </gruppramee <artifactid> Spring-Security-Web </artifactid> </abhängig> </abhängig> </abhängigkeiten>
Fügen Sie CsRffilter hinzu, wenn die App startet
@SpringbootApplicationPublic Class -Anwendung erweitert webmvcconFigurerAdapter {@Bean public filterregistrationBean csrffilter () {FilterregistrationBean Registrierung = new FilterregistrationBean (); Registrierung.SetFilter (neuer csrffilter (new httpSessioncsrftokenRepository ())); Registrierung.Addurlpatterns ("/*"); Rückgaberegistrierung; } public static void main (String [] args) {SpringApplication.run (application.class, args); }}Fügen Sie verstecktes Feld von CSRF in Form hinzu
<input name = "$ {(_ csrf.parametername)!}" value = "$ {(_ csrf.token)!}" type = "Hidden">Hinzufügen des Headers von CSRF in Ajax
xhr.setRequestheader ("$ {_ csrf.heaDeName}", "$ {_ csrf.token}");GitHub-Adresse lautet https://github.com/kabike/spring-boot-csrf
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.