Sicherheit in Webanwendungen

Slides:



Advertisements
Ähnliche Präsentationen
SQL Injection – Funktionsweise und Gegenmaßnahmen
Advertisements

Warum WordPress Sicherung?
Präsentation des Abschlussprojektes Rudolf Berger
PC-Senioren Ludwigsburg
Inhalt – Technische Grundlagen
MySQL.
Pflege der Internetdienste
Allgemeine Technologien II
Seite 1Maria, Philipp, Herbert Seite 1 Fitnessplaner Ziele: >Fitnessplaner für Onlinebetrieb >Registrierung >individuelle Trainingsplanerstellung.
SendEplanung Datenbank
Suchmaschine vs. Katalog Such-Robots i.d.R. werden alle Seiten erfasst täglich werden mehrere Mio. Seiten besucht Redaktion relativ wenig Seiten erfasst.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Sicher durchs Internet
Installationsanleitung 1.02 Hausverwaltung.
Seminarvotrag: PHP Von Stefan Niemczyk.
Einführung MySQL mit PHP
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
YouTube5 .0 Projektpräsentation
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
ECDL M8 IT - Security.
Unterrichtsmaterial 2. Klasse
Grundlagen der sicheren PHP Programmierung Parametermanipulationen und Injektionslücken Stefan Esser Hardened-PHP Project.
© it & tel – E-Werk Wels AG 1 Das Problem. © it & tel – E-Werk Wels AG 2 Ausbreitung von Malware Sanfte Migration von nach Web Vector Web.
Spionage auf dem PC - wie wehre ich mich dagegen
Wie nutzt man das Internet sicher?. Verschicken von s Attachments nur, wenn notwendig Text nicht nur in die angehängte Datei Nur dann HTML-Mails,
Tipps und Tricks für den bedachten Umgang mit IKT Christoph & Tanja mail:
MDM Systeme im Test Udo Bredemeier
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Sicherheit im Internet
Sicherheit im Internet& Datenschutz
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Seminar Internet Technologien
Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection reto ambühler
Hacker-Angriff 1. Lückentext
CGI (Common Gateway Interface)
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Daniel Franke Tim Benedict Jagla Matthias Thimm
Viren, Würmer und anderes Ungeziefer
Absicherung eines produktiven Webservers und Entdeckung von Angreifern
Wie man Webanwendungen vor Angriffen schützen kann
PHP Basic.
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Analyseprodukte numerischer Modelle
Hacking InfoPoint Jörg Wüthrich Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
11 PHISHING
Formatvorlage des Untertitelmasters durch Klicken bearbeiten PHISHING.
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Formulare in HTML.
Internetsicherheit Referenten: Christian Schnidrig, David Gundi.
Datenbanken Verwalten
Willkommen zum Brückensemester
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
HEX-code für die Farbe weiß: #FFFFFF Änderung von Inhalt & Darstellung Inhalt & Darstellung HTML Javascript CSS.
Tutorial Schritt 1: Über den Link im VP gelangen Sie auf die Seite
Exploiting Web Applications
Quelle: xkcd.com SQL Injections.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Webserver einrichten mit Konfiguration, online stellen, Zugang © by Lars Koschinski 2003.
Schutz vor Viren und Würmern Von David und Michael.
Passwortsicherheit Tim S, Nils B und Felix R..
Rechen- und Kommunikationszentrum (RZ) Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen.
Pädagogisches Zentrum PZ.BS ICT Medien Phishing Mails.
Chaosseminar Gefahren für den Internet Client. Angriffsscenario ● DSL / – Mit oder ohne WLAN AP? ● Öffentlicher Hotspot – Bahnhof / Flughafen.
 Präsentation transkript:

Sicherheit in Webanwendungen Christian Benz 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Inhalt Arten von Sicherheitsrisiken Phishing Cross-Site Scripting Directory Traversal SQL-Injection Demonstration SQL-Injection Demonstration Cross-Site Scripting Fazit 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing Der moderne „Enkeltrick“ Cross-Site Scripting Es lebe Web 2.0 Directory Traversal Das kann doch noch nicht alles sein… SQL Injection Code einbinden leicht gemacht 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing Ist eine Weiterführung des „Enkeltricks“ Eine vermeintlich seriöse E-Mail/Privatnachricht/Instant Messenger-Nachricht sendet einen Link zu einer Website mit betrügerischen Absichten Phishing ist ein Kunstwort. Es setzt sich zusammen aus den englischen Begriffen Password und Fishing („Angeln“) Häufig auch: Gehackte Social Network- oder Instant Messaging-Profile von Freunden und Bekannten Unseriöse Smartphone-Apps (z.B. Onlinebanking-Apps) [Mischung aus Malware und Phishing] Smartphones besonders anfällig, da Webbrowser und E-Mail-Clients noch nicht so ausgereift sind [1] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing Spear-Phishing beschreibt den gezielten Angriff gegen ein bestimmtes Opfer Pharming ist eine Methode, um Benutzer auf eine gefälschte Webseite (trotz korrekter URL) umzuleiten Um eine alphanumerische URL aufzulösen kontaktiert das Betriebssystem normalerweise einen DNS-Server Allerdings besitzt jedes OS auch eine interne Liste (hosts-Datei) in die das Betriebssystem zuerst schaut, ob der Name schon gelistet ist 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing Phishing muss nicht immer durch so genannte „Phishing Mails“ vollzogen werden Durch Trojanische Pferde, Keylogger etc. kann auch gezieltes Phishing betrieben werden Dem Phishing dienen 0,57 % aller Spam-Mails Bei ungefähr 220 Mrd. Spam-Mails pro Tag sind dies allerdings ca. 1,2 Milliarden Phishing-Mails [2] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing [3] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing Top 10 Länder in denen Phishing-Seiten betrieben werden (2010) Quelle: http://www.antiphishing.org/reports/apwg_report_Q1_2010.pdf 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing Quelle: http://www.antiphishing.org/reports/apwg_report_Q1_2010.pdf 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Quelle: Kaspersky 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Phishing Beispiel aus der Realität Tunesien 2011 Die tunesische staatliche Internetagentur ATI soll flächendeckend Passwörter für Konten bei Facebook, Gmail und Yahoo gesammelt haben Dies diente hauptsächlich dazu, Regimekritiker zu überwachen und geplante Protestaktionen frühzeitig zu unterbinden [4] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Schutz vor Phishing Browser-Erweiterungen und E-Mail-Clients schützen (Phishing-Hinweis) Anti-Viren-Software mit Phishingschutz Suchmaschinen warnen zum Teil JavaScript bei E-Mails deaktivieren Augen offen halten! [5] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit Cross-Site Scripting (XSS) Manipulation auf dem Server durch Script-Code in den URL-Parametern Man unterscheidet unter 3 Arten: Reflexives XSS Persistentes XSS Lokales XSS (DOM-basiert) 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit Reflexives Cross-Site Scripting [6] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit Persistentes Cross-Site Scripting [7] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit Lokales Cross-Site Scripting [8] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Schutz vor Cross-Site Scripting Für Webseitenbetreiber: „Schwarze Liste“ mit ungültigen Parametern (nicht immer aktuell) „Weiße Liste“ mit allen erlaubten Parametern (beste Lösung) In Benutzereingaben <SCRIPT> nicht zulassen Schutz vor lokalem XSS ist nicht so einfach, weil Benutzereingaben nicht serverseitig geprüft werden können Für Webseitenbesucher: Es gibt auch hierfür wieder Browser-Erweiterungen JavaScript und ähnliches deaktivieren 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Directory Traversal Beschreibt den Zugriff auf Dateien und Verzeichnisse durch Manipulation der Pfadangaben Ein wichtiger Bestandteil eines Directory Traversal-Angriffs ist der Einsatz von ../ durch den der Angreifer eine Verzeichnisebene nach oben gehen kann. 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Directory Traversal Beispiel Man betrachte folgende URL: http://www.example.com/index.foo?item=datei1.html Wenn man nun die Parameter wie folgt abändert… http://www.example.com/index.foo?item=../../../Config.sys …erhält man Zugang zu nicht erlaubten Pfaden und Dateien. 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Directory Traversal Beispiel Weitere Beispiele: http://www.example.com/index.foo?item=../../../Windows/System32/cmd.exe?/C+dir+C:\ http://www.example.com/showimage.foo?item=bild1.jpg http://www.example.com/showimage.foo?item=bild3.jpg Es gibt bild1.jpg und bild3.jpg Gibt es auch eine Datei bild2.jpg? 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Schutz vor Directory Traversal Blockieren aller Vorkommen der Zeichenkette ../ Das gilt auch für die URI-Prozentkodierung %2e%2e%2f Verwendung der PHP-Funktionen realpath(), basename(), dirname() und pathinfo() 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit SQL Injection Bezeichnet das Injizieren von schadhaftem SQL-Code durch Benutzereingaben in Formularfeldern, Cookies, etc. (in Eingabefeldern oder per Parameter) Es gibt mehrere Arten der Injektion: Eingabefelder Cookies Sessionwerte usw. 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit SQL Injection Es gibt mehrere Angriffsmöglichkeiten Zugriff auf Daten, für die keine Berechtigung vorhanden ist. Veränderung von Daten in der Datenbank Root Status (Passwortänderung vom root-Benutzer) Einrichten einer Shell auf dem Datenbankserver 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit SQL Injection Beispiel SQL-Befehl um ein Userpasswort zu ändern: $query = "UPDATE usertable SET pwd='$pwd'  WHERE uid='$uid';"; Nun übergibt man als Username: ' or uid like'%admin%'; -- Und erhält folgenden Befehl: $query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --"; Wegen der OR-Verknüpfung ist diese Abfrage in jedem Fall wahr. Das Admin-Passwort wurde geändert. wird ignoriert 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit SQL Injection Beispiel SELECT email, passwd, login_id, full_name FROM members WHERE email = ‘$eingabe’; SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; DROP TABLE members; --'; Löscht die komplette members-Tabelle SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; INSERT INTO members ('email','passwd','login_id','full_name') VALUES (‘baduser@test.net',‘password123',‘baduser',‘Mad Man');--'; Legt einen neuen Benutzer namens baduser an 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit SQL Injection Beispiel aus der Realität Im Februar 2009 schafften es türkische Hacker auf der US-amerikanischen Homepage von Kaspersky (http://usa.kaspersky.com/) Kundendaten, wie E-Mail-Adressen, und Produktaktivierungskeys per SQL Injection auszulesen. 30 Minuten nach Bekanntwerden des Sicherheitslecks wurde dieses Problem behoben. Allerdings kann man daraus die Lehre ziehen, dass selbst Sicherheitsexperten nicht immer dagegen gefeilt sind. [9] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit [6] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Schutz vor SQL Injection Auf Applikationsseite: Validierung der Benutzereingaben Filterung: nur erlaubte Zeichen in Eingabefeldern zulassen (Regular Expression) Single Quote (') bei allen Benutzereingaben verwenden, auch bei numerischen Angaben Fehlermeldungen mit wenigen Informationen (am besten nur eine Fehler-ID und keine SQL-Fehler) Längeneinschränkungen für Parameter Im PHP-Skript mysql_query() verwenden. Dieses lässt nur eine SQL-Anweisung auf einmal zu. So etwas ist nun nicht mehr möglich: SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; DROP TABLE members; --'; 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Schutz vor SQL Injection Auf Datenbankseite: Sinnvolle Rechtevergabe z.B. DB-User für Login erhält keine Schreib- und Löschrechte DB-User für Registrierung erhält keine Löschrechte usw. mysql_connect("localhost","root", "d73ube3d893"); Strenge Typisierung Nummerische Werte wie Sitzungs-Ids oder Postleitzahlen als ganze Zahlen und nicht als Strings Stored Procedures verwenden Hierdurch werden dem Benutzer nur die Möglichkeiten gegeben, die der Entwickler auch vorgesehen hat. 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit SQL Injection + Cross-Site Scripting Demonstration [7] 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Fazit Mit den hier vorgestellten Schutzmechanismen lassen sich die gröbsten Sicherheitslücken eventuell vermeiden Eine Garantie für absolute Sicherheit gibt es nicht Man hat gesehen, dass selbst Experten, wie Kaspersky, Probleme kriegen können Eine gesunde Paranoia entwickeln 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Quellen Quellen: [1] http://www.geekyplanet.com/2010/03/31/phishing/ [2] http://www.absolit-blog.de/studien/220-milliarden-e-mails-pro-tag.html [3]http://de.academic.ru/dic.nsf/dewiki/1105247 http://www.customvinyldecalsnstickers.com/cute_skull.gif [4] http://www.sueddeutsche.de/politik/proteste-in-tunesien-von-der-strasse-ins-netz-1.1046518 [5] http://de.wikipedia.org/wiki/Phishing [6],[7],[8] http://www.h-online.com/security/features/Web-application-security-747201.html [7] http://www.cix-blog.de/thm/Undichte-SQL-Injection-auf-Kaspersky-Website SQL Injection-Bild http://www.mygeekpal.com/208/sanitizing-variables-in-php-without-regular-expressions/ http://network-tutorial.com/wp-content/uploads/2010/01/sql-injection.jpg [7] http://www.msc-computer.com/Computer_1.jpg 27.03.2017 Sicherheit in Webanwendungen - Christian Benz

Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Vielen Dank für die Aufmerksamkeit! Fragen? 27.03.2017 Sicherheit in Webanwendungen - Christian Benz