Security im E-Commerce



Ähnliche Dokumente
Warum werden täglich tausende von Webseiten gehackt?

Mit freundlicher Unterstützung von: Die Tipps der Millionäre

Die Post hat eine Umfrage gemacht

Web Application Security

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

Jochen Bartlau. List & Label. schnell + kompakt

Was meinen die Leute eigentlich mit: Grexit?

Alle gehören dazu. Vorwort

PHPNuke Quick & Dirty

Website. zur eigenen. Ihr Weg ins Web: Domain, Hoster, Installation, Verwaltung, Pflege und IT-Recht. Websites. erstellen

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

am Beispiel - SQL Injection

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Das Leitbild vom Verein WIR

Erklärung zu den Internet-Seiten von

Jeunesse Autopiloten

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Mobile Intranet in Unternehmen

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Auswertung der Teilnehmerumfrage zum. vom November 2010

Anleitung über den Umgang mit Schildern

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Erfahrungen mit Hartz IV- Empfängern

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren

Professionelle Seminare im Bereich MS-Office

Warum Sie jetzt kein Onlinemarketing brauchen! Ab wann ist Onlinemarketing. So finden Sie heraus, wann Ihre Website bereit ist optimiert zu werden

Arbeitshilfen Messecontrolling Wie geht denn das?

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Die Lernumgebung des Projekts Informationskompetenz

Die i-tüpfelchen: Favicons

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Erst Lesen dann Kaufen

Der Kalender im ipad

Web 2.0 (In) Security PHPUG Würzburg Björn Schotte

Anleitung zum BW-Bank Computer-Check Windows-Firewall aktivieren

Webalizer HOWTO. Stand:

Welchen Weg nimmt Ihr Vermögen. Unsere Leistung zu Ihrer Privaten Vermögensplanung. Wir machen aus Zahlen Werte

Meine Entscheidung zur Wiederaufnahme der Arbeit

Impulse Inklusion 2014 Beteiligungskulturen - Netzwerke - Kooperationen (Leichte Sprache Version)

- mit denen Sie Ihren Konfliktgegner in einen Lösungspartner verwandeln

! " # $ " % & Nicki Wruck worldwidewruck

Schüler-E-Tutorial für mobile Endgeräte. Ein Folgeprojekt des Netzwerks Informationskompetenz Berlin/Brandenburg mit der HdM

Was ich als Bürgermeister für Lübbecke tun möchte

Internationales Altkatholisches Laienforum

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Was ist das Budget für Arbeit?

Wechselbereitschaft von. Bevölkerungsrepräsentative Umfrage vom 09. Januar PUTZ & PARTNER Unternehmensberatung AG

Es gibt nur eine Bilanz die zählt: Ihre Zufriedenheit.

Schnellstart - Checkliste

Webgestaltung - Jimdo 2.7

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Verband der TÜV e. V. STUDIE ZUM IMAGE DER MPU

Aber mancher braucht diese Funktionalität halt, doch wo ist sie unter Windows 8 zu finden?

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Mehr Arbeits-Plätze für Menschen mit Behinderung auf dem 1. Arbeits-Markt

Sächsischer Baustammtisch

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand:

M03a Lernstraße für den Unterricht in Sekundarstufe I

Templates für Joomla! 1.6

Evangelisieren warum eigentlich?

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

WLAN "Hack" Disclaimer:

Einkaufen im Internet. Lektion 5 in Themen neu 3, nach Übung 10. Benutzen Sie die Homepage von:

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Danke, dass sie sich für die Infoliste der Moodleveranstaltung eingetragen haben.

Reporting Services und SharePoint 2010 Teil 1

Copyright Sophie Streit / Filzweiber / Fertigung eines Filzringes mit Perlen!

Geld verdienen als Affiliate

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.


Spielmaterial. Hallo! Ich bin der kleine AMIGO und zeige euch, wie dieses Spiel funktioniert. Viel Spaß! von Liesbeth Bos

Kulturelle Evolution 12

Checkliste zur Planung einer Webseite

Gelassenheit gewinnen 30 Bilder für ein starkes Selbst

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

am Beispiel - SQL Injection

Leichte-Sprache-Bilder

Zielgruppenansprache von Baumärkten

Herzlich willkommen zur Kurzvorlesung: Die häufigsten Fehlerquellen bei der Erstellung von Webapplikationen. Udo H. Kalinna. Nürnberg, den

ES GEHT NICHTS ÜBER EX-AZUBIS, Leiter der Fertigung, Produktbereich Blech, bei

Über die Herausgeber

Gruppenrichtlinien und Softwareverteilung

SEPA-Anleitung zum Release 3.09

Liebe Medizinstudentin, lieber Medizinstudent,

Den Durchblick haben. VOLKSBANK BAD MÜNDER eg. Online aber sicher: Unsere Produkt- und Sicherheitshotline hilft und informiert

Geld Verdienen im Internet leicht gemacht

Was ist Leichte Sprache?

Was ist Sozial-Raum-Orientierung?

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich

Wir machen uns stark! Parlament der Ausgegrenzten

Statuten in leichter Sprache

Transkript:

Tobias Zander Security im E-Commerce Absicherung von Shopsystemen wie Magento, Shopware und OXID schnell+kompakt

Tobias Zander Security im E-Commerce Absicherung von Shopsystemen wie Magento, Shopware und OXID schnell+kompakt ISBN: 978-3-86802-316-9 2014 entwickler.press ein Imprint der Software & Support Media GmbH http://www.entwickler-press.de http://www.software-support.biz Ihr Kontakt zum Verlag und Lektorat: lektorat@entwickler-press.de Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. Lektorat: Theresa Vögle Korrektorat: Frauke Pesch Copy-Editor: Nicole Bechtel Satz: Dominique Kalbassi Umschlaggestaltung und Titelbild: Maria Rudi Alle Rechte, auch für Übersetzungen, sind vorbehalten. Reproduktion jeglicher Art (Fotokopie, Nachdruck, Mikrofilm, Erfassung auf elektronischen Datenträgern oder andere Verfahren) nur mit schriftlicher Genehmigung des Verlags. Jegliche Haftung für die Richtigkeit des gesamten Werks, kann, trotz sorgfältiger Prüfung durch Autor und Verlag, nicht übernommen werden. Die im Buch genannten Produkte, Warenzeichen und Firmennamen sind in der Regel durch deren Inhaber geschützt.

Inhaltsverzeichnis Inhaltsverzeichnis Vorwort 11 1 Sicher, aber wo anfangen? 13 1.1 Die Lage der Nation 13 1.1.1 NSA 13 1.1.2 Ponemon Institute 14 1.1.3 Forrester 14 1.2 OWASP 15 1.2.1 Wiki 16 1.2.2 Chapters 16 1.2.3 Top 10 17 1.3 CWE/SANS Top 25 18 1.4 PCI DSS 20 2 Cross-Site Scripting 23 2.1 Die Gefahr 23 2.1.1 Defacing 23 2.1.2 Datenmanipulation 24 2.1.3 Datenspionage 25 2.1.4 XSS-Proxy 25 2.1.5 Angriff auf Drittsysteme 26 schnell + kompakt 5

Inhaltsverzeichnis 2.2 XSS-Typen 26 2.2.1 Type 0/DOM-based XSS 26 2.2.2 Type 1/nicht persistente Schwachstelle 28 2.2.3 Type 2/persistente Schwachstelle 29 2.3 Escaping 31 2.3.1 Der richtige Zeitpunkt 31 2.3.2 Kontext 32 2.3.3 HTML-Attribute und -Text 33 2.3.4 JavaScript 37 2.3.5 jquery 39 2.3.6 URLs 40 2.4 HTMLPurifier 42 2.5 Template Engine 43 2.6 Same Origin Policy 45 2.7 Content Security Policy 48 2.8 XSS Protection Header 50 3 Eingabevalidierung 51 3.1 Injection 51 3.1.1 SQL Injection 52 3.1.2 Mail Header Injection 60 3.1.3 File Injection 61 3.1.4 Code Injection 63 3.1.5 Reguläre Ausdrücke 67 3.1.6 Sonstige Interpreter 68 6

Inhaltsverzeichnis 3.2 Plausibilitätsprüfungen 69 3.2.1 E-Mail 69 3.2.2 filter_var 70 3.2.3 Buffer Overflow 72 3.3 Cross-Site Request Forgery 73 3.3.1 Was ist CSRF? 73 3.3.2 One-Time Token 75 3.3.3 XSS-/CSRF-Kombination 76 3.3.4 Authentication 78 3.4 File Uploads 80 3.4.1 $_FILES 80 3.4.2 Dateigröße 81 3.4.3 is_uploaded_file 82 3.4.4 Mime-Type 82 3.4.5 getimagesize 83 3.4.6 move_uploaded_file 83 4 Verarbeitung 85 4.1 Access Level Control 85 4.2 Broken Authentication 86 4.2.1 Adobe-Hack 86 4.2.2 Passwortstärke 87 4.2.3 Brute Force 88 4.3 Broken-Session-Management 88 4.3.1 Session-Hijacking 89 4.3.2 Session-Fixation 91 4.3.3 Sessionkonfiguration 94 schnell + kompakt 7

Inhaltsverzeichnis 4.4 Password Storage 95 4.4.1 Password-API 95 4.4.2 Rainbow Tables 98 4.5 Objektreferenzen 100 4.5.1 File Inclusion 102 4.5.2 Redirects 105 4.6 Security Misconfiguration 106 4.6.1 Setup-Skripte 106 4.6.2 Apache-Konfiguration 106 4.6.3 nginx-konfiguration 107 4.6.4 php.ini 108 4.6.5 iniscan 109 4.6.6 HTTPS-Konfiguration 110 4.6.7 Suhosin 110 4.6.8 Datenbank 111 4.6.9 DoS 112 5 Ausgabe von Daten 115 5.1 Sensitive Data Exposure 115 5.2 Error Handling 116 5.3 Clickjacking 117 5.4 Pixel Perfect Timing 120 8

Inhaltsverzeichnis 6 Frameworks 125 6.1 Magento 126 6.1.1 SQL 126 6.1.2 HTML Escaping 129 6.1.3 CSRF 130 6.1.4 PCI 132 6.2 Magento 2 132 6.2.1 SQL 132 6.2.2 HTML Escaping 133 6.3 Shopware 133 6.3.1 SQL 133 6.3.2 HTML Escaping 135 6.4 OXID 136 6.4.1 SQL 136 6.4.2 HTML Escaping 136 7 Tools 137 7.1 Zed Attack Proxy 137 7.2 Metasploit 141 7.3 WireShark 143 7.4 BeEF 145 Stichwortverzeichnis 151 schnell + kompakt 9

Vorwort Vorwort Zunächst einmal vielen Dank, dass Sie sich für dieses Buch entschieden haben, das Ihnen helfen soll, Ihr E-Commerce-Projekt sicherer zu machen und sich vor Angriffen zu schützen. Zwar fokussiert sich das Buch auf E-Commerce, um zum einen gute praktische Beispiele zu zeigen und zum anderen auch auf Spezialfälle wie das Handling von Kreditkarten einzugehen. Allerdings ist ein Großteil des Buches auch für jede andere Webanwendung relevant, auch wenn diese nichts mit E-Commerce zu tun hat. So sollten Sie auch für ein CMS, einen Blog oder eine Intranetanwendung sehr wichtige Informationen bekommen. Das Buch beruht zunächst auf meiner eigenen Erfahrung als Webentwickler und CTO. So habe ich in den letzten Jahren nicht nur zahlreiche Websysteme gesehen, sondern sicherlich auch selbst nicht immer alles richtig gemacht, dadurch aber eine Menge gelernt. Des Weiteren wird das Buch angereichert durch Recherchen und Feedback, das ich im Zuge einer Reihe von Security Talks erhalten habe. Sie werden in den Codebeispielen vor allem PHP- oder JavaScript- Code finden, allerdings stehen ähnliche Funktionalitäten in jeder anderen Programmiersprache zur Verfügung. schnell + kompakt 11

Vorwort Ein besonderer Dank geht an meinen Arbeitgeber, die Sitewards GmbH, die sich als E-Commerce-Spezialist einen Namen gemacht und mich stark unterstützt hat, damit ich dieses Buch schreiben konnte. Insbesondere geht mein Dank an Constantin Kammerer, der sich für die Visualisierung einiger Probleme ins Zeug gelegt hat. Des Weiteren möchte ich mich für die Geduld meiner Frau Nicole bedanken, mit der ich aufgrund der Arbeiten an dem Buch noch weniger Zeit verbringen konnte. So, nun soll es aber losgehen, ich wünsche Ihnen viel Spaß beim Lesen und beim Entdecken der Aha-Effekte auf den folgenden Seiten. Sollten Fragen aufkommen, erreichen Sie mich am besten auf Twitter als @airbone42 oder via E-Mail unter tobias.zander@ sitewards.com. 12

KAPITEL 1 Sicher, aber wo anfangen? In diesem Kapitel geht es zunächst um die Definition von Sicherheit. Wer entscheidet eigentlich, was sicher ist? Welche Organisationen und Dokumente gibt es und wo können Sie diese finden und Unterstützung erhalten? 1.1 Die Lage der Nation 1.1.1 NSA Es ist wohl aktuell kaum möglich, ein Buch über Websecurity zu schreiben, ohne zumindest kurz auf die Vorkommnisse einzugehen, die quasi die ganze Welt aufgeweckt haben. Dass viele Webserver und deren Software heutzutage nicht wirklich sicher sind, ist kein großes Geheimnis, und je mehr Aufwand man betreibt, desto größer wird die Wahrscheinlichkeit, dass man auch Zugriff auf ein System bekommt. Doch was wirklich klar wurde, ist, dass kein System wirklich sicher ist. Je nach Höhe der Mittel, die dem Angreifer zur Verfügung stehen, ist der Kampf nahezu aussichtslos. Das ist aber kein Grund, die Flinte ins Korn zu werfen, denn auch wenn man sich gegenüber mächtigen Institutionen wie der NSA nicht wirklich absichern können wird, so gibt es auch zahlreiche weitere Gefahren, z. B. Scriptkiddies, Trickbetrüger oder schnell + kompakt 13

Sicher, aber wo anfangen? die Konkurrenz, die Interesse an meinen Daten hat oder sich einen Vorteil davon erhofft, meinem Ruf zu schaden. 1.1.2 Ponemon Institute Doch nicht erst seit dem NSA-Skandal ist Security wieder ein Thema. Erst kürzlich wurde vom Ponemon Institute eine Umfrage veröffentlicht, in der 73 Prozent der befragten Unternehmen zugaben, mindestens einmal in den letzten zwei Jahren gehackt worden zu sein. Dabei ist es auch interessant, dass vielen gar nicht bekannt ist, welcher finanzielle Schaden dadurch entstanden ist bzw. entstehen kann. 47 Prozent der Befragten schätzten die Kosten auf 100 000 bis 500 000 $. Ein Viertel der Befragten konnte gar keine Schätzung dazu abgeben. Zudem gaben 88 Prozent der Teilnehmer an, dass ihr Kaffeebudget in der Firma (im Schnitt 30 $ pro Mitarbeiter pro Monat) höher ist als das der Web Application Security. Das komplette Ergebnis der Umfrage können Sie unter https:// www.barracuda.com/assets/docs/white_papers/barracuda_web_ app_firewall_wp_cenzic_exec_summary.pdf nachlesen. 1.1.3 Forrester Auch Forrester veröffentlicht regelmäßig Statistiken und Umfragen zum Thema Websecurity. Interessant ist dabei u. a., dass 70 Prozent aller Sicherheitslücken auf dem Web Application Layer zu finden sind, also in der Software, die wir entwickeln und für die wir selbst verantwortlich sind! Auch geht aus den Ergebnissen der Umfragen immer wieder hervor, dass die größte Herausforderung bei der Entwicklung von 14

OWASP sicherer Software das Finden von geschultem Personal in ausreichender Menge ist. Es reicht leider nicht, einen Experten im Team zu haben, sondern bereits bei der Planung der Architektur und später bei der Implementierung jedes einzelnen Moduls muss darauf geachtet werden. Und am Ende, wenn etwas schief geht, interessiert es niemanden, wer den Fehler implementiert hat. Daher ist es an uns, das entsprechende Wissen auch weiterzugeben und ständig auf dem aktuellen Stand zu bleiben. Sie haben nun erfahren, dass es 100 Prozent Sicherheit nicht geben kann. In den folgenden Kapiteln wollen wir uns anschauen, wie man nun zumindest die wichtigsten Maßnahmen ergreifen kann. 1.2 OWASP Das Open Web Application Security Project (OWASP) ist eine der wichtigsten Institutionen, die das Thema Web Security stark vorantreibt. Der Grundsatz ist es, Web Security sichtbar zu machen, was dadurch geschieht, dass viele Beiträge zu den Themen geschrieben, und auch entsprechende Videos zu bestimmten Themen produziert oder von Vorträgen aufgezeichnet werden. Abbildung 1.1: Das Logo der OWASP Die OWASP ist eine Non-Profit-Vereinigung, es steht keine Firma dahinter, was einerseits die Unabhängigkeit gewährleistet, doch andererseits ist es natürlich nicht immer einfach, die nötigen Gelder aufzutreiben. schnell + kompakt 15

Sicher, aber wo anfangen? Es gibt zudem eine ganze Liste an Projekten, wie z. B. ein XSS- Tool, das Zed Attack Proxy (Kapitel 7.1) oder Webgoat, eine Webanwendung, die absichtlich unsicher programmiert wurde, um so eine praktische Anleitung zu bieten, sichereren Code zu schreiben. 1.2.1 Wiki Einer der Hauptbestandteile ist sicherlich das Wiki, zu finden unter http://www.owasp.org. Dort sind über 1 000 Mitglieder aktiv und pflegen die Seiten zu den diversen Projekten. Einziger Nachteil ist, dass das Wiki durch die große Menge an Beiträgen ein wenig unübersichtlich geworden ist, doch aufgrund der zahlreichen Verlinkungen findet man selbst mit der Google-Suche relativ schnell den entsprechenden Content. Besonderes Augenmerkt sollte u. a. auf die Cheat Sheets geworfen werden, die begleitend zu diesem Buch eine sehr gute Hilfe bieten, wie man sich gegen einige Sicherheitsprobleme schützen kann. 1.2.2 Chapters Die Organisation unterteilt sich in verschiedene Chapters, meist nach Ländern getrennt und über den ganzen Globus verteilt. Zudem hat zum Beispiel der Germany Chapter weitere Unterteilungen in diverse lokale Gruppen, wie z. B. Rhein-Main-Gebiet oder Hamburg. Diese Chapters treffen sich dann in regelmäßigen Abständen und tauschen sich über aktuelle Sicherheitsthemen aus. Die meisten Mitglieder kommen bisher aus der Java-Welt, doch auch PHP- oder Ruby-Entwickler sind herzlich willkommen. Ich als PHP-Entwickler wurde zunächst zwar belächelt, doch ich wurde sehr schnell akzeptiert, nachdem ich gezeigt habe, dass auch uns das Thema ernst ist! 16

OWASP Zudem gibt es auch zahlreiche Mailing-Listen zu diversen Themen, in die man sich einschreiben und an denen man auch aktiv teilnehmen kann. Zudem werden Events gemeinnützig veranstaltet. Die bekannteste europäische Veranstaltung ist dabei sicherlich die AppSecEU, die 2013 in Hamburg stattfand und im Juni 2014 in Cambridge stattfinden wird. Die Liste der Speaker ist international und hochkarätig besetzt. 1.2.3 Top 10 Doch was sind überhaupt die wichtigsten Sicherheitsprobleme? Dieser Frage hat sich die OWASP mit ihrem wohl bekanntesten Projekt der OWASP Top 10 gewidmet, wo bisher alle drei Jahre eine Liste der riskantesten Sicherheitslücken erstellt wurden. Die aktuelle Version wurde 2013 veröffentlicht, und um nicht nur aufzuzeigen, wie groß der technische Impact ist, wurde eine Einstufung nach Risiken vorgenommen. Hier ist unter anderem auch die wirtschaftliche Sicht berücksichtigt: Wie hoch ist der finanzielle Schaden? Kann das Ausnutzen der Lücke zu einem Reputationsverlust führen? Wie viele persönliche/sensitive Daten können veröffentlicht werden? Neben der globalen Top-10-Liste gibt es auch noch einen Ableger für Mobile Development, der sich speziell an Produzenten für mobile Apps richtet, und aktuell ist eine OWASP Top 10 für Entwickler in Arbeit, die sich speziell an Entwickler richtet und u. a. auch mit mehr technischem Background und Codebeispielen in möglichst vielen Sprachen aufwarten soll. schnell + kompakt 17