Unkontrollierte Verarbeitung von Eingabedaten

Größe: px
Ab Seite anzeigen:

Download "Unkontrollierte Verarbeitung von Eingabedaten"

Transkript

1 Unkontrollierte Verarbeitung von Eingabedaten Allgemeine Softwareschwachstellen und zugehörige Angriffstechniken Dr. Dominik Herrmann Folien:

2 Die unkontrollierte Verarbeitung von Eingabedaten ist die Ursache zahlreicher Softwareschwachstellen. Ausfall von > DSL-Routern in DE (Nov. 2016) 2

3 Gliederung 1. Einordnung 2. SQL-Injections 3. Typosquatting Lernziele: Die zwei Beispiele erläutern können Schutzmechanismen erklären können Grundlegende Kenntnis von PHP und SQL wird unterstellt. 3

4 Warum müssen Eingabedaten vor der Verarbeitung kontrolliert werden? Eingabedaten können von Angreifern manipuliert werden. Earn or give, but never assume, trust Center for Secure Design (IEEE, 2014) Establish and maintain control of all your inputs CWE/SANS Monster Mitigations (2011) Häufig missachtet; Folge: Code Injection Maschinencode Shellcode JavaScript, PHP, SQL Spezifikationdes Systems Software-Design Implementierung CWE: Common Weakness Enumeration 4

5 Gliederung 1. Unkontrollierte Verarbeitung von Eingabedaten 2. SQL-Injections 3. Typosquatting Spezifikationdes Systems Software-Design Implementierung 5

6 SQL-Injectionsverändern die Struktur der ursprünglichen SQL-Anfrage. Browser Webserver SQL-Datenbank u: admin, p: 123 SELECT id FROM users WHERE user = 'admin' AND password = '123' OK u: ' or 1=1 - - SELECT id FROM users WHERE user = '' or 1=1 -- ' AND password = '' OK auskommentiert u: '; DROP TABLE users -- SELECT id FROM users WHERE user = ''; DROP TABLE users -- ' AND password = '' OK $db = new mysqli('localhost','dbuser','dbpasswd','dbname'); $sql = "SELECT id FROM users WHERE ". "user = '$u' AND password = '$p' "; $result = $db->query($sql); if ($result->num_rows == 0) { /* invalid credentials */ } else { /* login sucessful */ } 6

7 Schutz vor SQL-Injections muss beim Software-Design berücksichtigt werden. Empfehlenswerter Ansatz Parametrisierung aller Anfragen mit Prepared Statements $sql = "SELECT id FROM users WHERE ". " user =? AND password =? "; $stmt = $db->prepare($sql); $stmt->bind_param('ss', $u, $p); $stmt->execute(); Problematische Ansätze Validierung: Zurückweisen von Eingabedaten, die Sonderzeichen enthalten, oder Sonderzeichen herausfiltern ' " ` ; Blacklist O'Brien Konflikt möglich a-z, A-Z Whitelist Escapen von Sonderzeichen durch Voranstellen des Zeichens \ SELECT id FROM users WHERE user = '\' or 1=1 -- ' AND password = '' $u = mysqli_real_escape_string($user); $p = mysqli_real_escape_string($pwd); $sql = "SELECT id FROM users WHERE ". "user = '$u' AND password = '$p' "; 7

8 Schutzmechanismen können falsch implementiert werden. Bestellhistorie Pizza Größe Menge Datum Emiliana M Sizilia L $u = mysqli_real_escape_string($user_id); $m = mysqli_real_escape_string($month); $sql = "SELECT pizza, size, qty, date ". "FROM orders ". "WHERE usrid = $u AND ". " month = $m " ; da brauche ich keine Anführungszeichen sind ja Integer-Werte Angriff überparameter month: 0 and 1=0 UNION SELECT Name, Nmbr, ExpMon, ExpYr FROM CC_Transactions Bestellhistorie Pizza Größe Menge Datum Peter Müller Silvia Huber Beispiel nach D. Boneh 8

9 Weitere Varianten und Schutzmechanismen in der Übung und im Hacker-Praktikum Ermittlung von Spalten und Tabellen-Bezeichnern Blind und Second-Order Injections Experimentierumgebung 9

10 Gliederung 1. Unkontrollierte Verarbeitung von Eingabedaten 2. SQL-Injections 3. Typosquatting Spezifikation d. Systems Software-Design Implementierung 10

11 In offenen Systemen ist eine Kontrolle von Eingabedaten nicht vorgesehen. Domain Name System: verteilt realisierter hierarchischer Namensdienst com DENIC de at Typosquatting: Domains mit (Tipp-)Fehlern bespiel.de beispeil.de bwspiel.de beispiell.de wwwbeispiel.de paypal.de paypai.de Homograph i/i vs. l/l Registrare Hohe Verbreitung Studie mit 500 populären Domains (2015); > Typo-Domains; 61 % davon waren erreichbar Eindämmung schwierig Registrare könnten Registrierungen kontrollieren, aber keine Anreize (Externalitätseffekte) P. Agten, W. Joosen, F. Piessens, and N. Nikiforakis. Seven Months Worth of Mistakes: A Longitudinal Study of Typosquatting Abuse. In NDSS,

12 Typosquatting ist nicht auf DNS beschränkt; betrifft auch Software-Entwickler. Software-Repositorys für Entwickler PyPi (Python), NPM (JS), RubyGems Jeder darf Pakete mit beliebigen Namen hochladen; diese sind sofort verfügbar. Üblicher Installationsweg bei Python: sudo pip install requests 1. Ausnutzen von Tippfehlern reqeusts request req7ests 2. Ausnutzen von Irrtümern urllib json bs4 in stdlib enthalten! import bs4 from BeautifulSoup pip install beautifulsoup4 Studie mit 214 Paketnamen (2015/16) Installationsmeldung per HTTP-Request; Warnhinweis für Entwickler auf Konsole Unterschätztes Problem > Installationen, 96 % Irrtümer > Hosts (44 % als root, 25 mil/gov) Strategien zur Eindämmung Not-Found-Fehler auswerten Entwickler bei neuen Paketen oder Tippfehlern warnen N. Tschacher: Typosquatting in Programming Language Package Managers. Bachelorarbeit, Universität Hamburg,

13 Zusammenfassung Unkontrollierte Verarbeitung von Eingabedaten Code-Injection-Angriffe SQL-Injections Schutz: Software-Design und und korrekte Implementierung Typosquatting-Angriffe Domain Name System und Software-Repositorys für Entwickler Fehlende Anreize zur Eindämmung Weiterführende Literatur A. Andonov (2007): The Unexpected SQL Injection (When Escaping Is Not Enough), available at J. Spaulding et al. (2016): The Landscape of Domain Name Typosquatting: Techniques and Countermeasures. arxiv.org/pdf/ pdf Dr. Dominik Herrmann

Privacy and Security in Information Systems Group. Prof. Dr. Dominik Herrmann O0o-Friedrich Universität Bamberg

Privacy and Security in Information Systems Group. Prof. Dr. Dominik Herrmann O0o-Friedrich Universität Bamberg Privacy and Security in Information Systems Group Prof. Dr. Dominik Herrmann O0o-Friedrich Universität Bamberg Arbeitsgebiete Security Safety Integrität Vertraulichkeit Verfügbarkeit Technischer Datenschutz

Mehr

1a) SQL Stored Procedure via IDs

1a) SQL Stored Procedure via IDs 1a) SQL Stored Procedure via IDs Erstellen Sie analog zu Aufgabe 2d) des ersten Übungsblatts eine SQL Stored Procedure, welche den Freundschaftsgrad zweier Benutzer eines sozialen Netzwerks aktualisiert.dazu

Mehr

Web Application Security: SQL-injection, Cross Site Scripting -- w3af

Web Application Security: SQL-injection, Cross Site Scripting -- w3af Web Application Security: SQL-injection, Cross Site Scripting -- w3af 1 Web 2.0 Application und Angriffspunkte Grundlagen: SQL SQL-injection Cross Site Scripting Web Application Scans mit w3af 2 Eine Web

Mehr

Mehr Schutz mit weniger Aufwand

Mehr Schutz mit weniger Aufwand Mehr Schutz mit weniger Aufwand? Leichtgewichtige Datenschutz-Dienste für Anwender und Anbieter Dr. Dominik Herrmann Vertretungsprofessur für IT-Sicherheit Universität Siegen und Universität Hamburg Folien:

Mehr

PHP-5-Zertifizierung. Block 12 Security.

PHP-5-Zertifizierung. Block 12 Security. PHP-5-Zertifizierung Block 12 Security Allgemeine Regeln Alle Eingaben (von außen) sind (potenziell) böse Eingaben filtern/validieren Ausgaben escapen Trauen Sie nichts von außen! GET-/POST-Daten Cookies

Mehr

ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln 2.10.2009

ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln 2.10.2009 ZSDGMDZFGW Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden Ben Fuhrmannek #phpug-köln 2.10.2009 Über mich Informatiker Entwickler IT Security 2 TOC Aufbau ZF Problem 1 bis 10 3

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

SQL-Injection. Seite 1 / 16

SQL-Injection. Seite 1 / 16 SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection

Mehr

Informationstechnik & System-Management SQL INJECTION. Selbstgemachte Sicherheitslücken. SQL-Injection ITSB2006 Michael Donabaum

Informationstechnik & System-Management SQL INJECTION. Selbstgemachte Sicherheitslücken. SQL-Injection ITSB2006 Michael Donabaum SQL INJECTION Selbstgemachte Sicherheitslücken Beschreibung SQL-Injection SQL-Einschleusung Ausnutzen von Sicherheitslücken in Zusammenspiel mit SQL-Datenbanken Mangelnde Maskierung von Metazeichen \ ;

Mehr

Security-Webinar. September Dr. Christopher Kunz, filoo GmbH

Security-Webinar. September Dr. Christopher Kunz, filoo GmbH Security-Webinar September 2015 Dr. Christopher Kunz, filoo GmbH Ihr Webinar-Team _ Referent: Dr. Christopher Kunz _ CEO Hosting filoo GmbH / TK AG _ Promotion IT Security _ Vorträge auf Konferenzen _

Mehr

Hacker-Methoden in der IT- Sicherheitsausbildung. Dr. Martin Mink

Hacker-Methoden in der IT- Sicherheitsausbildung. Dr. Martin Mink Hacker-Methoden in der IT- Sicherheitsausbildung Dr. Martin Mink Hacker-Angriffe 3.11.2010 Hacker-Methoden in der IT-Sicherheitsausbildung Dr. Martin Mink 2 Typische Angriffe auf Web- Anwendungen SQL Injection

Mehr

SQL-Injection in the news Stand: 17.06.2006 24:00

SQL-Injection in the news Stand: 17.06.2006 24:00 Vernetzte Unternehmen I SQL-Injection Prof. Dr. H. Strack, Dipl.-Inf.(FH) Ch. Karich SQL-Injection in the news Stand: 17.06.2006 24:00 Heise-Newsticker: 02.06.06: SQL-Injection-Lücke in MySQL gestopft

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung

Mehr

DOAG 2016 Oracle APEX Security

DOAG 2016 Oracle APEX Security Für die Restricted Einstellung sind nur folgende Items vorgesehen: Display as Text (escape special characters, does not save state) Display as Text (does not save state) Display as Text (based on LOV,

Mehr

Datensicherheit. Vorlesung 4: 14.12.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Datensicherheit. Vorlesung 4: 14.12.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter Vorlesung 4: Sommersemester 2015 h_da, Lehrbeauftragter Teil 2: Themenübersicht der Vorlesung 1. Einführung / Grundlagen der / Authentifizierung 2. Kryptografie / Verschlüsselung und Signaturen mit PGP

Mehr

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Sicherheit von Webapplikationen Sichere Web-Anwendungen Sicherheit von Webapplikationen Sichere Web-Anwendungen Daniel Szameitat Agenda 2 Web Technologien l HTTP(Hypertext Transfer Protocol): zustandsloses Protokoll über TCP auf Port 80 HTTPS Verschlüsselt

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach)

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach) Multimedia im Netz Wintersemester 2013/14 Übung 02 (Hauptfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 2-1 PHP und MySQL Es werden mehrere APIs von PHP angeboten um

Mehr

Moderne Anwendungen und relationale Datenbanken? Natürlich!

Moderne Anwendungen und relationale Datenbanken? Natürlich! Moderne Anwendungen und relationale Datenbanken? Natürlich! Carsten Czarski Consulting Member of technical staff - Oracle Application Express April 2017 Copyright 2016 Oracle and/or its affiliates. All

Mehr

Interaktive Webseiten mit PHP und MySQL

Interaktive Webseiten mit PHP und MySQL Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /

Mehr

Just-In-Time Security: Sicherheit im Entwicklungsprozess

Just-In-Time Security: Sicherheit im Entwicklungsprozess Just-In-Time Security: Sicherheit im Entwicklungsprozess Mike Wiesner SpringSource Germany Über mich Senior Consultant bei SpringSource Germany Spring-/Security-Consulting Trainings IT-Security Consulting

Mehr

Hackerpraktikum Versuch 4

Hackerpraktikum Versuch 4 Hackerpraktikum Versuch 4 Praktikum zur Vorlesung Reaktive Sicherheit WS 09/10 Johannes Hoffmann (hoffmann[-@-]ls6.cs.tu-dortmund.de) Dieser Versuch beschäftigt sich mit serverseitigen Schwachstellen im

Mehr

MySQL, Java und einiges mehr

MySQL, Java und einiges mehr MySQL, Java und einiges mehr Client Der Browser Firefox Chrome Safari Internet Explorer URL http://localhost:8080/html/index.html Internet Die darzustellende Webseite HTML Server Apache Tomcat Jetty

Mehr

domain specific languages

domain specific languages domain specific languages weniger Code und bessere Software mit DSLs Alexander Lang domain specific languages weniger Code und bessere Software mit DSLs Alexander Lang About me Dipl.-Inf. (FH) Alexander

Mehr

Verteidigung gegen SQL Injection Attacks

Verteidigung gegen SQL Injection Attacks Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz danlutz@watz.ch 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

<Insert Picture Here> APEX? Aber sicher! Tipps und Tricks für eine sichere APEX-Umgebung. Carsten Czarski, ORACLE Deutschland B.V. Co.

<Insert Picture Here> APEX? Aber sicher! Tipps und Tricks für eine sichere APEX-Umgebung. Carsten Czarski, ORACLE Deutschland B.V. Co. APEX? Aber sicher! Tipps und Tricks für eine sichere APEX-Umgebung Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Grundsätzliches zur APEX-Architektur Security-Attribute in

Mehr

Internet Praktikum im Grunstudium Formularwerte und Datenbanken Speichern, Lesen und Aufbereiten. Dr. Guido Rößling Dipl.-Ing.

Internet Praktikum im Grunstudium Formularwerte und Datenbanken Speichern, Lesen und Aufbereiten. Dr. Guido Rößling Dipl.-Ing. Internet Praktikum im Grunstudium Formularwerte und Datenbanken Speichern, Lesen und Aufbereiten Dr. Guido Rößling Dipl.-Ing. Andreas Hartl Aktueller Zustand Sie sollten schon in der Lage sein Formulare

Mehr

14.05.2013. losgeht s

14.05.2013. losgeht s losgeht s 1 Agenda erläutern 2 Warum jetzt zuhören? 3 BSI-Quartalsbericht 4/2010 Die gefährlichsten Schwachstellen in Webauftritten Häufig wurden SQL-Injection(Weiterleitung von SQL-Befehlen an die Datenbank

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Wie sichert man APEX-Anwendungen gegen schädliche Manipulationen und unerwünschte Zugriffe ab?

Wie sichert man APEX-Anwendungen gegen schädliche Manipulationen und unerwünschte Zugriffe ab? APEX aber sicher Wie sichert man APEX-Anwendungen gegen schädliche Manipulationen und unerwünschte Zugriffe ab? Carola Berzl BASEL BERN BRUGG GENF LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR.

Mehr

Softwaresicherheit. Eine Präsentation von Benedikt Streitwieser und Max Göttl. Einführung Kryptographie und IT-Sicherheit

Softwaresicherheit. Eine Präsentation von Benedikt Streitwieser und Max Göttl. Einführung Kryptographie und IT-Sicherheit Softwaresicherheit Eine Präsentation von Benedikt Streitwieser und Max Göttl Einführung Kryptographie und IT-Sicherheit Gliederung Einleitung: Was ist Softwaresicherheit Populäre Beispiele Anforderungen

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Portal zur Verwaltung von Wohngemeinschaftsfinanzen mit dem Web-Framework Django

Portal zur Verwaltung von Wohngemeinschaftsfinanzen mit dem Web-Framework Django Portal zur Verwaltung von Wohngemeinschaftsfinanzen mit dem Web-Framework Django 29. Januar 2018 Yannick Linke 2018 Yannick Linke/FH Aachen Portal zur Verwaltung von Wohngemeinschaftsfinanzen mit Django

Mehr

Websecurity. Hochschule Darmstadt, Fachbereich Informatik, Sommersemester Christopher Dörge, Thomas Sauer, David Müller

Websecurity. Hochschule Darmstadt, Fachbereich Informatik, Sommersemester Christopher Dörge, Thomas Sauer, David Müller Websecurity Hochschule Darmstadt, Fachbereich Informatik, Sommersemester 2017 Christopher Dörge, Thomas Sauer, David Müller Vorab ein Disclaimer Websecurity ist ein Dauerthema. Ständig werden neue Angriffspatterns

Mehr

Praktikum im Grundstudium

Praktikum im Grundstudium Praktikum im Grundstudium Teil 6: Dynamische Content-Generierung aus Datenbank-Daten als valid XHTML Aktueller Zustand Sie sollten schon in der Lage sein Formulare in XHTML zu erzeugen (statisch oder dynamisch),

Mehr

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

Web 2.0 (In) Security PHPUG Würzburg 29.06.2006 Björn Schotte Web 2.0 (In) Security PHPUG Würzburg 29.06.2006 Björn Schotte Web 2.0 (In)Security - Themen Alte Freunde SQL Injections, Code Executions & Co. Cross Site Scripting Cross Site Scripting in der Praxis JavaScript

Mehr

Carsten Czarski Oracle Deutschland B.V. & Co KG. Keine Angst vor SQL Injection oder Wie man Datenbankzugriffe sicher implementiert

Carsten Czarski Oracle Deutschland B.V. & Co KG. Keine Angst vor SQL Injection oder Wie man Datenbankzugriffe sicher implementiert Carsten Czarski Oracle Deutschland B.V. & Co KG Keine Angst vor SQL Injection oder Wie man Datenbankzugriffe sicher implementiert Keine Angst vor SQL Injection oder "Wie man Datenbankzugriffe

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

Angriffe auf Datenbanken [Netsec3] Autoren: Prof. Dr. Jörg Schwenk. Ruhr - Universität Bochum

Angriffe auf Datenbanken [Netsec3] Autoren: Prof. Dr. Jörg Schwenk. Ruhr - Universität Bochum Angriffe auf Datenbanken [Netsec3] Autoren: Prof. Dr. Jörg Schwenk Ruhr - Universität Bochum Angriffe auf Datenbanken [Netsec3] Autor: Prof. Dr. Jörg Schwenk 1. Auflage Ruhr - Universität Bochum 2017

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

Mehr

Willkommen. Datenbanken und Anbindung

Willkommen. Datenbanken und Anbindung Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein

Mehr

if ($rows == 0) { save_new(); } }

if ($rows == 0) { save_new(); } } Page 212, Listing index.php There is: Must be: // Prüfen, ob nicht Seite aktualisiert // wurde mit z.b. F5. der gleiche // Eintrag soll nicht mehrmals // gespeichert werden können $sql_check = "SELECT

Mehr

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH Automatisierte Akzeptanztests für ios-apps Sven Günther it-agile GmbH Wer entwickelt native Apps? Wer testet die Apps selbst? Wer hat externe Testdienstleister? Wer hat Unit-Tests? Wer hat Akzeptanztests?

Mehr

Abbildung 6-8: Abfolge beim doppelten Abschicken von Formularen

Abbildung 6-8: Abfolge beim doppelten Abschicken von Formularen HACK #55 Hack Doppeltes Abschicken von Formularen verhindern Durch die Verwendung einer Transaktionstabelle in Ihrer Datenbank können Sie das klassische Problem der doppelt abgeschickten Formulare verhindern.

Mehr

datenlink-schnittstelle Version 1.0

datenlink-schnittstelle Version 1.0 www.datenlink.info datenlink-schnittstelle Version 1.0 Inhalt 1 Allgemeines 2 1.1 Datenaustausch... 2 1.2 Zugriffstypen... 2 2 Format der Rückgabewerte 3 2.1 HTTP-Statuscodes... 3 2.2 Rückgabewerte...

Mehr

Ablauf Unit2. Walkthrough

Ablauf Unit2. Walkthrough Ablauf Unit2 Vertiefendes Uebungsprojekt - SQL II Gerhard Wohlgenannt Test Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Gruppeneinteilung + Themenvergabe Vorstellung der Arbeitsumgebung

Mehr

[14-04] Huseby, Sverry: Sicherheitsrisiko Web-Anwendung. dpunkt, 2004

[14-04] Huseby, Sverry: Sicherheitsrisiko Web-Anwendung. dpunkt, 2004 Literatur I [14-01] Power, Richard: Attacken im Web. Markt+Technik, 2001 [14-02] Kunz, Christopher; Esser, Stefan: PHP-Sicherheit. dpunkt, 3. Auflage, 2008 [14-03] Ziegler, Paul Sebastian: Cross-Site Scripting.

Mehr

Wanderwege weltweit Entwicklung einer Overlay-Karte aus OSM-Daten

Wanderwege weltweit Entwicklung einer Overlay-Karte aus OSM-Daten Wanderwege weltweit Entwicklung einer Overlay-Karte aus OSM-Daten Sarah Hoffmann lonvia@denofr.de FOSSGIS 2011 Wanderwege weltweit p. 1/22 OpenStreetMap mehr als nur Strassen Wanderwege weltweit p. 2/22

Mehr

WALL&KOLLEGEN RECHTSANWÄLTE AVVOCATI BARRISTER-AT-LAW MÜNCHEN INNSBRUCK BOZEN

WALL&KOLLEGEN RECHTSANWÄLTE AVVOCATI BARRISTER-AT-LAW MÜNCHEN INNSBRUCK BOZEN WALL&KOLLEGEN RECHTSANWÄLTE AVVOCATI BARRISTER-AT-LAW MÜNCHEN INNSBRUCK BOZEN Die 7 häufigsten Fehler im IT-Security- Management bei Webanwendungen (nach OWASP) München, 11.10.2011 c1 Folie 3 c1 Ich habe

Mehr

SecureNet GmbH For personal use only. Distribution not allowed.

SecureNet GmbH For personal use only. Distribution not allowed. 1 Die Datenbank als Erfüllungsgehilfe für Datendiebe Eine Kurzeinführung in Injection-Angriffe DOAG Regionaltreffen Südbayern FH München, Raum R 1.046 Ralf Reinhardt, 21.04.2010, 17:30 http://www.securenet.de

Mehr

Oracle Database Vault Beispiele zur Benutzung

Oracle Database Vault Beispiele zur Benutzung Oracle Database Vault Beispiele zur Benutzung Grundsätzliches: Beispiel für Trennung der Verantwortlichkeiten in unserer Umgebung: wichtige RollenAufgaben: DB-Benutzer Rolle Aufgabe SYS SYSDBA Verwalter

Mehr

Kompendium der Web-Programmierung

Kompendium der Web-Programmierung . Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung

Mehr

von T. Janda, D. Letz, J. Trümper und S. Voigt

von T. Janda, D. Letz, J. Trümper und S. Voigt Thomas Janda, Dominic Letz, Jonas Trümper, Sebastian Voigt 1 von 22 Vorlesungen mit Notizfunktion von T. Janda, D. Letz, J. Trümper und S. Voigt Thomas Janda, Dominic Letz, Jonas Trümper, Sebastian Voigt

Mehr

Einführung in Web-Security

Einführung in Web-Security Einführung in Web-Security Alexander»alech«Klink Gulaschprogrammiernacht 2013 Agenda Cross-Site-Scripting (XSS) Authentifizierung und Sessions Cross-Site-Request-Forgery ([XC]SRF) SQL-Injections Autorisierungsprobleme

Mehr

Mapbender-Installation

Mapbender-Installation Foswiki > NUMIS Web > TechniSches > InGridInstall > MapbenderInstall (2010-10-29, MartinKlenke) Mapbender-Installation Mapbender-Installation Basis-Software phppgadmin Webserver Postgres / Postgis Mapbender-Installation

Mehr

Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen

Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen Staatliche Fachschule für Mechatronik- und Elektrotechnik Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen von Voit Alexander 3. Januar 2018 Entwicklungsarbeit Staatliche Fachschule für Mechatronik-

Mehr

Installation Guide/ Installationsanleitung. Spring 16 Release

Installation Guide/ Installationsanleitung. Spring 16 Release Guide/ Installationsanleitung Spring 16 Release Visit AppExchange (appexchange.salesforce.com) and go to the CONNECT for XING listing. Login with your Salesforce.com user is required. Click on Get It Now.

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Datensicherheit. Vorlesung 7: 29.5.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Datensicherheit. Vorlesung 7: 29.5.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter Datensicherheit Vorlesung 7: 29.5.2015 Sommersemester 2015 h_da Heiko Weber, Lehrbeauftragter Inhalt 1. Einführung & Grundlagen der Datensicherheit 2. Identitäten / Authentifizierung / Passwörter 3. Kryptografie

Mehr

Sichere Datenbankanfragen

Sichere Datenbankanfragen Vorstand Sichere Datenbankanfragen OpenText WebSiteManagement (Delivery Server) Axel Reinhardt Agenda Was ist SQL-Injection? Beispiel eines Bestellprozesses Vorgehen eines Angreifers Härten der Web-Seite

Mehr

SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2

SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2 SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2 Wie sind die nur wieder an meine Kreditkartendaten gekommen? http://www.testedich.de/quiz29/picture/pic_1312394875_7.jpg

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien php/mysql Kurs der Informatikdienste Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,

Mehr

User Manual BB-anywhere

User Manual BB-anywhere User Manual BB-anywhere LOGIN PROCEDURE 1. Click the Start button, choose All Programs (right above the search box) and select BB-ANYWHERE from the Start menu: BB-anywhere in a nutshell Regardless whether

Mehr

Der agile Software Architekt

Der agile Software Architekt Der agile Software Architekt Ingmar Kellner 2013-09-25 Agil == Beweglich == Zur Handlung Fähig Source: http://de.wiktionary.org/wiki/agil Gegebene Versprechen schränken meine Agilität ein! 2013, hello2morrow

Mehr

Gymnasium Kirchenfeld. Webattacken. Gymnasium Kirchenfeld (fts) 28. Juni 2016

Gymnasium Kirchenfeld. Webattacken. Gymnasium Kirchenfeld (fts) 28. Juni 2016 Gymnasium Kirchenfeld Webattacken Gymnasium Kirchenfeld (fts) 28. Juni 2016 Dieses Werk steht unter einer Attribution-NonCommercial-ShareAlike 3.0 License (CC BY-NC-SA). Inhaltsverzeichnis 1 Einleitung

Mehr

Mobile Web-Technologien. Interaktionen und

Mobile Web-Technologien. Interaktionen und Mobile Web-Technologien Interaktionen und Mobile Blockseminar Medien 02.-05. Januar 2005 11.07.2005 Man-in-the-middle Angriffe Research Group Embedded Interaction www.hcilab.org Victor Czenter Research

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

Designer Development Kit (DDK)

Designer Development Kit (DDK) Designer Development Kit (DDK) Eigene Code-Generatoren im Designer Dr. Gudrun Pabst Trivadis GmbH Dr. Jürgen Menge Oracle GmbH Inhalt > Agenda Für besseren Durchblick. Zum Hintergrund... Installation,

Mehr

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen

Mehr

BSA LAMP-Installation unter Debian-Edge

BSA LAMP-Installation unter Debian-Edge BSA 1 von 12 2007 by Roland Winkler / RDF IAV05/07 Inhaltsverzeichnis 1. Einleitung 2. Autor 3. Schritt 1: Installation des Apache2-Webservers 4. Schritt 2: Installation PHP5 5. Schritt 3: Installation

Mehr

Fehlende Input-Filterung. Klaus Kusche

Fehlende Input-Filterung. Klaus Kusche Fehlende Input-Filterung Klaus Kusche Grund-Problem Benutzer-Eingaben (= meist Eingaben in Web-Formularen, aber auch Commandline- oder Dialog-Inputs, Dateien und Netz-Requests,...) werden nicht gefiltert

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II Ablauf Wichtige Termine Ablauf der Lehrveranstaltung Vorstellung des Projektthemas Projektgruppen Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Datenbankentwurf Formulare PHP Security

Mehr

Vorlesung Datenbanksysteme Endklausur

Vorlesung Datenbanksysteme Endklausur Dr. Stefan Brass 13. Februar 2001 Institut für Informatik Universität Giessen Vorlesung Datenbanksysteme Endklausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Datenbanken. Heute dreht sich alles um SELECT

Datenbanken. Heute dreht sich alles um SELECT Datenbanken Heute dreht sich alles um SELECT Stell dir vor, du betreibst einen Online Shop für internationale Lebensmittel. Dann brauchst du eine Datenbank, um Daten zu speichern. Zum Beispiel: Produkte

Mehr

Netzwerksicherheit Übung 9 Websicherheit

Netzwerksicherheit Übung 9 Websicherheit Netzwerksicherheit Übung 9 Websicherheit David Eckhoff, Tobias Limmer, Christoph Sommer Computer Networks and Communication Systems Dept. of Computer Science, University of Erlangen-Nuremberg, Germany

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Dr. Marc Rennhard Institut für angewandte Informationstechnologie Zürcher Hochschule Winterthur marc.rennhard@zhwin.ch Angriffspunkt

Mehr

HACK YOUR OWN WEBSITE! WEB SECURITY IM SELBSTVERSUCH

HACK YOUR OWN WEBSITE! WEB SECURITY IM SELBSTVERSUCH HACK YOUR OWN WEBSITE! WEB SECURITY IM SELBSTVERSUCH Dr. Stefan Schlott, BeOne Stuttgart GmbH ABOUT.TXT Stefan Schlott, BeOne Stuttgart GmbH Java-Entwickler, Scala-Enthusiast, Linux-Jünger Seit jeher begeistert

Mehr

Sicherheit von langlebigen Systemen in Bezug auf Kommunikationsanlagen

Sicherheit von langlebigen Systemen in Bezug auf Kommunikationsanlagen 1/ 28 Sicherheit von langlebigen Systemen in Bezug auf Kommunikationsanlagen Sascha Mücke Fakultät für Informatik TU Dortmund 31. Juli 2015 Inhalt 2/ 28 1 Einleitung 2 Angriffe auf Telefonsysteme 3 Schwachstellen

Mehr

SecureNet GmbH 2009. For personal use only. Distribution not allowed.

SecureNet GmbH 2009. For personal use only. Distribution not allowed. 1 Die Datenbank als Erfüllungsgehilfe für Datendiebe Eine Kurzeinführung in Injection-Angriffe Stream Security Ralf Reinhardt, 19.11.2009 2 Eine Kurzeinführung in Injection-Angriffe Inhalte HTML-Injection

Mehr

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH Python VS Perl Storage Monitoring per API statt SNMP comnet GmbH Björn Müller Marcel Denia comnet GmbH 13.09.2017 Agenda Über uns Ausgangssituation Umsetzung Python Umsetzung Perl??? 13.09.2017 comnet

Mehr

Webentwicklung mit Django

Webentwicklung mit Django Webentwicklung mit Django Michael Ziegler WebDevFulda standpy.de 3. März 2010 Inhalt 1 Webentwicklung - wo ist das Problem? 2 Was kann denn mehr? 3 O RLY? 4 Was ist alles möglich? 5 Und jetzt? Hobbybereich

Mehr

Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen

Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen Staatliche Fachschule für Mechatronik- und Elektrotechnik Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen von Wagemann Andreas 3. Januar 2018 Entwicklungsarbeit Staatliche Fachschule für

Mehr

Datenzugriffskomponente mit JPA 2.1

Datenzugriffskomponente mit JPA 2.1 Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der

Mehr

Bitte beachten Sie: Diese Anleitung kann auch für die Installation der Version 10.0 verwendet werden.

Bitte beachten Sie: Diese Anleitung kann auch für die Installation der Version 10.0 verwendet werden. Installationsanleitung PPL 11.0 Inhalt Schritt 1 Installation Dongle Software... 2 Schritt 2 Überprüfung Installation Dongle Software... 4 Schritt 3 Überprüfung der JAVA Version... 5 Schritt 4 Installation...

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Webseiten mit HTTPS bereitstellen und mit HSTS sichern

Webseiten mit HTTPS bereitstellen und mit HSTS sichern Webseiten mit HTTPS bereitstellen und mit HSTS sichern https://www.my-it-brain.de 10. März 2018 Inhalt 1 Inhalt 1 2 Inhalt 1 2 3 Inhalt 1 2 3 4 Inhalt 1 2 3 4 5 Ziele von HTTPS Inhalt Authentizität Vertraulichkeit

Mehr

Sichere Programmierung. Klaus Kusche

Sichere Programmierung. Klaus Kusche Sichere Programmierung Klaus Kusche Typische Ursachen für Lücken Große Mehrheit aller Lücken: Speicherüberschreiber Fehlende Input-Filterung ==> Jeweils eigener Foliensatz Restliche Lücken: Mehrere verschiedene

Mehr

Linux-Camp: Linux als Server am Beispiel LAMP

Linux-Camp: Linux als Server am Beispiel LAMP Linux-Camp: Linux als Server am Beispiel LAMP Linux, Apache, MySQL, PHP mit Ubuntu Version 8.04 Inhalt LAMP-Komponenten LAMP-Komponenten installieren, konfigurieren und prüfen Apache Webserver PHP5 MySQL

Mehr

Unified-E Standard WebHttp Adapter

Unified-E Standard WebHttp Adapter Unified-E Standard WebHttp Adapter Version: 1.5.0.2 und höher Juli 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Symbolische Adressierung... 3 3.1 ReadValues-Methode... 4 3.2 WriteValues

Mehr