{"id":40,"date":"2015-04-27T09:00:38","date_gmt":"2015-04-27T07:00:38","guid":{"rendered":"http:\/\/revue.local\/?p=40"},"modified":"2015-10-30T18:19:40","modified_gmt":"2015-10-30T17:19:40","slug":"wordpress-sicherheit-add_query_arg-warum-sie-jetzt-updaten-muessen-um-ein-sicherheitsloch-zu-stopfen","status":"publish","type":"post","link":"https:\/\/revue.local\/wordpress-sicherheit-add_query_arg-warum-sie-jetzt-updaten-muessen-um-ein-sicherheitsloch-zu-stopfen\/","title":{"rendered":"WordPress-Sicherheit (add_query_arg): Warum Sie jetzt updaten m\u00fcssen um ein Sicherheitsloch zu stopfen."},"content":{"rendered":"
Hallo lieber Abonnent!<\/p>\n
Bam!<\/strong> Hier ist er. Mein erster Newsletter. Sch\u00f6n, dass Sie mit dabei sind.<\/p>\n Yepp, auch ich hasse Newsletter die wenig informativ sind oder gar Spam enthalten. Deswegen habe ich es mir zum Ziel gemacht, meinen Newsletter a) so informativ wie m\u00f6glich zu gestalten und b) nur so viel wie n\u00f6tig zu schreiben. Jeder will ja kurz und knapp auf dem Laufenden bleiben, nicht wahr?<\/p>\n Deswegen: nichts wie los!<\/p>\n Eventuell ist es Ihnen bereits aufgefallen: Letzte Woche gab es ein ganz unverhofftes, aber kritisches Sicherheitsupdate<\/strong> von WordPress auf Version 4.1.2.<\/p>\n In WordPress gibt es zwei Funktionen die es erlauben, Parameter an eine URL anzuh\u00e4ngen oder zu entfernen. Viele Plugin- und Theme-Entwickler nutzen diese Funktionen genauso wie WordPress selbst. Durch eine schwache Dokumentation wussten und wissen viele Programmierer nicht, dass die R\u00fcckgabewerte dieser Funktionen unter Umst\u00e4nden gefiltert werden m\u00fcssen, um m\u00f6gliche Angriffe abzuwehren. Klar\u2026 auch wir Programmierer sind nicht allwissend.<\/p>\n Hinzu kommt, dass nat\u00fcrlich nicht nur WordPress selbst sondern auch jede menge Plugins und Themes betroffen sind. Und diese werden oft nicht aktualisiert. Gr\u00fcnde daf\u00fcr gibt es genug:<\/p>\n Sicherheitsl\u00fccken werden ausgen\u00fctzt. Und die Motive daf\u00fcr sind sehr vielf\u00e4ltig. In den meisten F\u00e4llen werden sie zu Phishing-Zwecken und damit mit dem Ziel des Identit\u00e4tsdiebstahls von Seitenbesuchen oder zur Spionage genutzt. Es lassen sich aber auch ganz gezielt Schwachstellen in Browsern ausnutzen, um Viren oder andere Schadsoftware auf dem Rechner der Opfer zu installieren, schreibt z.B. auch Manuel Ziegler in seinem aktuellen Buch \u201eWeb Hacking\u201c1<\/a><\/sup>.<\/p>\n Ich gebe zu f\u00fcr den Laien ist es schwierig bist fast unm\u00f6glich ein Plugin oder ein Theme zu erkennen, welches genau diese Sicherheitsl\u00fccke eingebaut hat. Wie soll man da den \u00dcberblick behalten? Und vor allem: was kann man tun?<\/p>\n In WordPress existieren zwei Funktionen mit den Namen WordPress Entwickler m\u00fcssen Ihre Plugins und Themes jetzt durchsuchen und Vorkommnisse von Fu\u00dfnoten:<\/p>\n Hallo lieber Abonnent! Bam! Hier ist er. Mein erster Newsletter. Sch\u00f6n, dass Sie mit dabei sind. Yepp, auch ich hasse Newsletter die wenig informativ sind oder gar Spam enthalten. Deswegen habe ich es mir zum Ziel gemacht, meinen Newsletter a) so informativ wie m\u00f6glich zu gestalten und b) nur so viel wie n\u00f6tig zu schreiben. […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_f\/revue\/cleverreach\/mail_id":"","_f\/revue\/cleverreach\/send_now":false},"acf":[],"yoast_head":"\nWarum Sie jetzt Ihre WordPress-Installation, alle Plugins und Themes updaten sollten.<\/h2>\n
\n
Warum ist das so gef\u00e4hrlich?<\/h2>\n
Was kann ich tun?<\/h2>\n
\n
Was passiert genau? (Achtung nerdig!)<\/h2>\n
add_query_arg()<\/code> und
remove_query_arg()<\/code>. Sie k\u00f6nnen dazu benutzt werden Parameter an eine URL anzuh\u00e4ngen oder zu entfernen. So wird aus
https:\/\/florian-simeth.de<\/code> die URL
https:\/\/florian-simeth.de\/index.php?neu=1<\/code> wenn der Parameter \u201eneu\u201c mit dem Wert \u201e1\u201c angeh\u00e4ngt wird.
\nIn der Regel \u00fcbergibt man den oben genannten Funktionen auch eine URL. In unserem Beispiel also https:\/\/florian-simeth.de\/index.php<\/code>.
\nInteressant ist aber, was passiert, wenn keine URL \u00fcbergeben wird. Dann sucht sich WordPress die aktuelle URL aus der Webserver-Umgebung selbst heraus. Dazu bedient es sich einer Variablen namens REQUEST_URI<\/code> die den letzten Teil der URL enth\u00e4lt, den der Benutzer in den Browser eingegeben hat (die so genannte URI). In unserem Beispiel w\u00e4re das also
index.php<\/code> oder
index.php?neu=1<\/code>. Dadurch, dass eine Browser-Eingabe ungefiltert ausgegeben wird (in der \u201eNerdsprache\u201c nennt man das Filtern \u201eescapen\u201c), spricht man von einer so genannten Cross-Site-Scripting- bzw. kurz XSS-Anf\u00e4lligkeit. So l\u00e4sst sich z.B. \u00fcber die URL des Browsers auf Schadcode einschleusen. Mitunter von Websites denen Sie vertrauen. Und Sie ahnen davon nichts.<\/p>\n
Was kann ein Programmierer tun?<\/h2>\n
add_query_arg()<\/code> und
remove_query_arg()<\/code> entsprechend filtern. Zum Beispiel mit der Funktion
esc_url()<\/code> wenn die URL ausgegeben werden soll oder mit
esc_url_raw()<\/code> wenn eine Weiterleitung erfolgen soll. Einen genauen Hinweis zur Vorgehensweise (in englischer Sprache) findet man auf make.wordpress.org2<\/a><\/sup>.<\/p>\n
\n