HACK THAT WEBSITE! WEB SECURITY IM SELBSTVERSUCH



Ähnliche Dokumente
HACK THAT WEBSITE! WEB SECURITY IM SELBSTVERSUCH

HACK YOUR OWN WEBSITE! WEB SECURITY IM SELBSTVERSUCH. Stefan

Web Application Security

am Beispiel - SQL Injection

Web-Sicherheit: Kein fauler Zauber?! Kai Jendrian. <Seminartitel> <Seminartitel>

itsc Admin-Tag OWASP Top 10 Tobias Ellenberger COO & Co-Partner OneConsult GmbH 2013 OneConsult GmbH

Warum werden täglich tausende von Webseiten gehackt?

am Beispiel - SQL Injection

Secure Coding & Live Hacking von Webapplikationen. Conect Informunity

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

OP-LOG

Netzwerksicherheit Übung 9 Websicherheit

V10 I, Teil 2: Web Application Security

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

IHK: Web-Hacking-Demo

Carsten Eilers Pentesters Toolbox

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Wie steht es um die Sicherheit in Software?

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

OpenWAF Web Application Firewall

Sicherheit in Webanwendungen CrossSite, Session und SQL

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

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

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Anleitung zur Updateinstallation von ElsaWin 4.00

Session Management und Cookies

Money for Nothing... and Bits4free

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Aktuelle Bedrohungen im Internet

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Norton Internet Security

Handbuch für die DailyDeal Entwertungs-App

Lehrveranstaltung Grundlagen von Datenbanken

Secure Programming vs. Secure Development

Konfiguration des Internet Explorers 8

Tutorial Windows XP SP2 verteilen

Konfiguration des Internet Explorers 7

ISA Server 2004 Einzelner Netzwerkadapater

Datensicherheit. Vorlesung 5: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

ISA Server Exchange RPC over HTTPS mit NTLM-Authentifizierung

Powermanager Server- Client- Installation

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Step by Step Webserver unter Windows Server von Christian Bartl

Installation und Bedienung von vappx

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

Informatives zur CAS genesisworld-administration

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

OFFLINE SYNCHRONISATION - ENIQ ACCESSMANAGEMENT PROGRAMMIER-CLIENT (ENIQ DEVICEMANAGEMENT) EINRICHTEN INSTALLATION DER SQL SERVER INSTANZ

Live Update (Auto Update)

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

Installation des edu- sharing Plug- Ins für Moodle

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

SharePoint Workspace 2010 Installieren & Konfigurieren

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

CDRServer 2011 / Installationsanleitung Step-by-Step. elcom

Anleitung zur Updateinstallation von ElsaWin 5.00

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Einrichtung eines Zugangs mit einer HBCI-Chipkarte bei der Commerzbank

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Hacking-Lab Online Hack&Learn 9. December 2008

Protect 7 Anti-Malware Service. Dokumentation

Einrichten des Filiago-Zugangs mit einer SkyStar2-Karte (oder USB-Box):

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

:: Anleitung Hosting Server 1cloud.ch ::

DOKUMENTATION PASY. Patientendaten verwalten

Options- und Freitext-Modul Update-Anleitung

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

vit.w.v. NETRIND basic & mobil NETRIND mobil (für Android-Smartphones)

Absicherung von Web-Anwendungen in der Praxis Highlights aus den OWASP TOP 10

Anleitung zur Updateinstallation von ElsaWin 5.20

Anleitung Captain Logfex 2013

RIZIV INAMI - LIKIV. eid-anleitung für PC

Schwachstellenanalyse 2012

Lokale Installation von DotNetNuke 4 ohne IIS

SMARTtill Server mit Manager

Inhaltsverzeichnis. 1. Remote Access mit SSL VPN

Anleitung zum Prüfen von WebDAV

Wie funktioniert das WWW? Sicher im WWW

Anleitung zur Installation von VSP-Client- Zertifikaten in Browsern

Installieren Sie den Janaserver auf dem Schulserver oder dem Lehrerrechner.

Diese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich.

Schulung Marketing Engine Thema : Einrichtung der App

Tutorial. Tutorial. Microsoft Office 2010 Standard Edition verteilen DeskCenter Solutions AG

Inhalt. 1 Installation und Konfiguration des Citrix Receivers

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Android Remote Desktop & WEB

Adminer: Installationsanleitung

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Transkript:

HACK THAT 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 für Security und Privacy

DIE OWASP TOP-10 Alpha und Omega der Security-Talks :-)

TOP 10 VON 2013 1. Injection 2. Broken Authentication and Session Management (von 3) 3. Cross-Site Scripting (XSS) (von 2) 4. Insecure Direct Object References 5. Security Misconfiguration (von 6) 6. Sensitive Data Exposure (von 7 und 9) 7. Missing Function Level Access Control (von 8) 8. Cross-Site Request Forgery (von 5) 9. Using Known Vulnerable Components (von 6) 10. Unvalidated Redirects and Forwards

MAL DEN SCHURKE SPIELEN ;-)

WERKZEUGE Tools und willige Opfer

KALI LINUX Kali Linux Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren

TESTANWENDUNGEN Erste Übungen an absichtlich schwache Anwendungen: OWASP WebGoat DVWA (Damn Vulnerable Web App) The BodgeIt Store Niemals direkt am Netz laufen lassen! Empfehlung: Zweite VM (teils Live-CD verfügbar)

ERSTKONTAKT

OWASP ZED ATTACK PROXY (ZAP) Schweizer Taschenmesser für Experimente im Browser Beobachten, Abfangen und Manipulieren von Browseranfragen (SSL-Man-in-the-Middle) Passiver Scanner: Erkennung möglicher Probleme in Anfragen Spider, aktiver Scanner: Systematische Suche nach Standardproblemen

EINRICHTUNG: HACK'N'PLAY Automatische Konfiguration via Browser-Plugin Bei Kali 1.1.0: Vorheriges Updates der Plugins nötig

BETRACHTEN UND ÄNDERN VON REQUESTS Requests werden in hierarchischen Baum festgehalten Chronologisch: History-Tab Mittels : Alle Request abfangen Bestimmte Requests mit Breakpoints abfangen Eigene Anfragen mittels Manual Request Editor (Tools)

SESSION MANAGEMENT Erkennt typische Sessioncookies (über anpassbar) Durch Aktivieren: Umschalten zwischen Sessions (ZAP ersetzt Sessioncookies vom Browser durch die gespeicherten)

TYPISCHES VORGEHEN Manuelles Browsen Festlegen des Kontexts, Ausschluß der Logout-Seite Spider starten Ggfs. Forced Browsing (typische URLs probieren) Ggfs. Active Scan

SQL INJECTION Ist der kleine Bobby Tables zu Hause?

SQL INJECTION 101 SQL-Statement wird direkt zusammengebaut name = // (direkt aus dem Webformular) result = SQL.exec("SELECT * FROM Students WHERE NAME='" + name + "';"); SELECT * FROM Students WHERE NAME='Robert'; DROP TABLE Students; ';

BLIND SQL INJECTION Erkennen der Anfälligkeit wenn nur eine generische Fehlermeldung erscheint nur eine leere Seite erscheint oder gar keine Verhaltensänderung erkennbar ist Interpretation des geänderten Verhaltens Timing-basierte Erkennung: Versuch, die Datenbankantwort meßbar (damit: erkennbar) zu verzögern

SQLMAP Systematisches Durchprobieren verschiedener SQL- Injection-Techniken Datenbank-Fingerprinting Datenbank-Dump Und vieles mehr

SQLMAP sqlmap u 'http:// /dvwa/vulnerabilities/sqli/?id=1&submit=submit' cookie 'security=low; PHPSESSID= ' p id -u URL -p zu untersuchender Parameter Einige weitere Optionen: -f -b Weitere Systeminfos via Fingerprinting --tables Tabellenschema --dump Daten-Dump

KORREKTES ANWENDUNGSVERHALTEN Saubere Validierung der Eingaben (nicht schädlich für eigenes Programm) Encodierung der Ausgaben an andere Anwendungen (hier: Escaping von für SQL gefährlichen Zeichen) Für SQL: Prepared Statements, Serialisierungs-Bibliothek

SQL IST NICHT ALLES! Injection ist kein SQL-spezifisches Problem! Zusammenbauen von JPQL-Strings JSP Expression Language Klasseninstantiierung durch Klassenangaben in YAML

CROSS SITE SCRIPTING Injection im Browser

CROSS SITE SCRIPTING Server sendet Daten an Client, die dort zur Ausführung kommen (üblicherweise: JS) Spring-Beispiel: URL-Parameter via spring:message: <spring:message text="${param['info']}"></spring:message> JSP EL (sofern das Attribut variablenicht vorher behandelt wurde): ${variable}

QUELLEN FÜR XSS-PROBLEME Persistent XSS: Daten auf Server hinterlegt Reflected (non-persistent) XSS: Nicht durch Daten auf Server, sondern durch präparierten Link o.ä. Anzeige von URL-Parametern oder Cookies Einfügen von Werten aus der Datenbank Verwenden von Werten aus Web-APIs Anzeige von hochgeladenen Dateien

ERKENNUNG MIT ZAP ZAPs Active Scan versucht, XSS zu erkennen Heuristiken versuchen, manipulierte Eingaben in der Ausgabe zu finden Ausführlichere Tests: ZAP Fuzzer In Request zu manipulierenden String markieren, Fuzzer im Kontextmenü wählen Verschiedene Regel-Sets verfügbar

XSS IST NICHT HARMLOS! Erhebliche Eingiffsmöglichkeiten (Beispiel: beef) Präparierte Webseite kann Sprungbrett ins Intranet sein Kompromittierung anderer Webanwendung in selber Cookie-Domain

KORREKTES ANWENDUNGSVERHALTEN Encodierung der html-ausgabe (Escaping für html) entweder durch umsichtigen Programmierer oder durch geeignete Template-Frameworks für Ausgabe (zu bevorzugen)

FAZIT Experimentieren lohnt sich - und macht Spaß! Automatisierte Scanner helfen, ersetzen aber keinen manuellen Scan Testanwendungen nur lokal erreichbar installieren

Dr. Stefan Schlott http://www.beone-group.com/ stefan.schlott@beone-group.com Twitter: @_skyr

BILDQUELLEN Exploits of a mum (CC) BY-NC Randall Munroe