SlideShare une entreprise Scribd logo
1  sur  64
Web 2.0 Security Revisited
?
Angriffssituation Web 1.0:


       2/3
20 %
  26 %




                               SQL Injection
                        17 %   Information Disclosure
10 %                           Known Exploits
                               XSS
                               Missing Authentication
       12 %                    Other
              15 %
Web 1.0 Applikation
           Browser




            Server
Web 1.0 Applikation
            Browser




    Model   Server
Web 1.0 Applikation
            Browser




            Controller


    Model    Server
Web 1.0 Applikation
            Browser




            Controller


    Model    Server      View
Web 1.0 Applikation
            Browser




            Controller


    Model    Server      View
Web 1.0 Applikation
            Browser




            Controller


    Model    Server      View
Web 1.0 Applikation
            Browser




            Controller


    Model    Server      View
Web 1.0 Applikation
            Browser




                         Input-Validierung
            Controller


    Model    Server          View
Web 1.0 Applikation
            Browser




            Controller


    Model    Server      View
Web 1.0 Applikation
            Browser




            Controller
                         Escaping

    Model    Server       View
Web 1.0 Applikation
            Browser




            Controller


    Model    Server      View
RIA-Applikation
            Browser




            Controller


    Model    Server      View
RIA-Applikation
            Browser
            Browser




            Controller


    Model    Server      View
RIA-Applikation
            Browser
            Browser      View




            Controller


    Model    Server
RIA-Applikation
                   Browser
      Controller   Browser   View




    Model          Server
RIA-Applikation
                  Browser
     Controller   Browser   View




                   Model

                  Server
RIA-Applikation
                  Browser
     Controller   Browser        View


                   Input-Validierung ?

                   Model

                  Server
XSS
Ein Einbruch in JavaScript
Ein Einbruch in JavaScript
 Variablen lassen sich überschreiben
Ein Einbruch in JavaScript
 Variablen lassen sich überschreiben
 (Fast) jedes Objekt lässt sich überschreiben
Ein Einbruch in JavaScript
 Variablen lassen sich überschreiben
 (Fast) jedes Objekt lässt sich überschreiben
 Jede Methode lässt sich überschreiben
Ein Einbruch in JavaScript
 Variablen lassen sich überschreiben
 (Fast) jedes Objekt lässt sich überschreiben
 Jede Methode lässt sich überschreiben
   alle Browser-eigenen Methoden!
Ein Einbruch in JavaScript
 Variablen lassen sich überschreiben
 (Fast) jedes Objekt lässt sich überschreiben
 Jede Methode lässt sich überschreiben
   alle Browser-eigenen Methoden!
 Jeder Inhalt der Seite kann geändert und verraten
 werden
Ein Einbruch in JavaScript
 Variablen lassen sich überschreiben
 (Fast) jedes Objekt lässt sich überschreiben
 Jede Methode lässt sich überschreiben
   alle Browser-eigenen Methoden!
 Jeder Inhalt der Seite kann geändert und verraten
 werden
 Alle Rechte der Seite - Same Origin und Cookies
Ein Einbruch in JavaScript
 Variablen lassen sich überschreiben
 (Fast) jedes Objekt lässt sich überschreiben
 Jede Methode lässt sich überschreiben
   alle Browser-eigenen Methoden!
 Jeder Inhalt der Seite kann geändert und verraten
 werden
 Alle Rechte der Seite - Same Origin und Cookies
 Prototype Hijacking: jeder Datenfluss in JavaScript lässt
 sich korrumpieren
JavaScript Würmer


                        JavaScript Viren
Cookie Stealing


                              Transaktionen
   Information Disclosure



          Intranet / VPN-Attacken
Ein IFRAME reicht.
Mash-Ups

           Browser




           Server
Mash-Ups
                     Map-
           Browser   Widget




           Server    Map-Service
Mash-Ups
   Embedded                Map-
   Application   Browser   Widget




 Embedded
                 Server    Map-Service
 Application
Mash-Ups
   Embedded                Map-
   Application   Browser   Widget




 Embedded
                 Server    Map-Service
 Application
crossdomain.xml

                         JSON Hijacking
ClickJacking


   JavaScript Rootkits
                         Google Wave

                     Facebook
Embedded Applications
Schutz für Embedded
Applications

HTML, JS und SQL werden ersetzt
  Facebook: FBML, FBJS und FBQL
  ADsafe
  Google, Yahoo, MySpace: Caja
FBML/FBJS
function hello(name) {
  var greeting = {name:name};
  $(“greetingdiv“).innerHTML = greeting.name;
}



function a21987_hello(name) {
  var a21987_greeting = {name:name};
  $(“greetingdiv“).setInnerFBML(a21987_greeting.name);
}
Caja
Caja
Capability-Based Security für JavaScript
  Security-Modell ähnlich ACL, RBACL etc
  Statt Objekten/Referenzen werden Capabilities
  übergeben
Caja
 Capability-Based Security für JavaScript
   Security-Modell ähnlich ACL, RBACL etc
   Statt Objekten/Referenzen werden Capabilities
   übergeben


Resource: /tmp/cookie_file

Capability: $fd = fopen(‘/tmp/cookie_file‘, ‘r‘);
Mash-Ups
   Embedded                Map-
   Application   Browser   Widget




 Embedded
                 Server    Map-Service
 Application
Caja
JavaScript/HTML/CSS wird rewritten
  „Virtual IFrame“
  keine Zugriffe auf globale Entities


                                   Embedded
 Valija          Cajoler
                                     App
Neue Features
      ==
Neue Injections!
Facebook Privacy


„Wenn Du eine Anwendung autorisierst, kann
diese auf jegliche Informationen Deines
Kontos zugreifen, die diese benötigt, um zu
funktionieren.“
Facebook Privacy

 „Wenn einer Deiner Freunde eine Anwendung
    besucht oder diese autorisiert, kann die
Anwendung unter anderem auf die Freundesliste
 deines Freundes sowie auf Informationen über
   die darin enthaltenen Personen zugreifen.“
Facebook Privacy

The Month of the Facebook Bugs:
„Many Facebook applications, even widely used
or seemingly trustworthy ones, lack basic security
precautions.“

6 der Top 10 waren betroffen.
Realtime Web

Die Verbreitung von Viren und Würmern wird schneller
  im besten Fall Denial of Service
  im schlechtesten Fall Beyond Repair
  (das ist neu)
RIA-Cloud




            Service-Cloud
RIA-Cloud

  Browser




            Service-Cloud
RIA-Cloud

  Browser   Mobile Widget




            Service-Cloud
RIA-Cloud

  Browser   Mobile Widget   RIA-Client




            Service-Cloud
Cross-Zone-Exploits
Geo-Data-Access


         PIM-Data-Access
Cross-Zone-Exploits
Widget mit RTF-Feed
phonegap
Browser Security
location-Spoofing-Schutz
JSON HiJacking (alle aktuellen Browser)
XSS in CSS verbieten (alle aktuellen Browser)
Origin/Access-Control Headers als CSRF-Schutz
Content Security Policy
JSON.parse()
toStaticHTML (IE8)
Browserbasierte JS-
Sicherheit
Cross-Document-Messaging:
otherWindow.postMessage(‘Hi!‘, ‘http://google.de/‘);

window.addEventListener(“message“, receiveMessage,
senderWindow);
function receiveMessage(event) {
   if (event.origin !== ‘http://bing.com‘) return;
   ...
Sichere Web 2.0
Applikationen
Browser-Features und Header, falls möglich, nutzen
Wer Widgets / Mashups / UGC mit JS erlaubt:
  Caja nutzen!
  Widgets Caja-konform entwickeln
Applikationen _müssen_ XSS und CSRF-Schutz
enthalten
Vielen Dank!




 Weitere Fragen:
 johann-peter.hartmann@sektioneins.de

Contenu connexe

En vedette

Lügen, schlimme Lügen und IT-Verträge
Lügen, schlimme Lügen und IT-VerträgeLügen, schlimme Lügen und IT-Verträge
Lügen, schlimme Lügen und IT-VerträgeJohann-Peter Hartmann
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?Johann-Peter Hartmann
 
Von Kutschern, Managern und Systemadministratoren
Von Kutschern, Managern und SystemadministratorenVon Kutschern, Managern und Systemadministratoren
Von Kutschern, Managern und SystemadministratorenJohann-Peter Hartmann
 
Lass dichueberraschen ;)
Lass dichueberraschen ;)Lass dichueberraschen ;)
Lass dichueberraschen ;)Scrat2011
 
Sicherheit am arbeitsplatz1
Sicherheit am arbeitsplatz1Sicherheit am arbeitsplatz1
Sicherheit am arbeitsplatz1Preast
 
StoraEnso - Forstzertifikate und Umweltzeichen 2012
StoraEnso - Forstzertifikate und Umweltzeichen 2012StoraEnso - Forstzertifikate und Umweltzeichen 2012
StoraEnso - Forstzertifikate und Umweltzeichen 2012Staples Germany
 

En vedette (19)

Das Ende der Karriere
Das Ende der KarriereDas Ende der Karriere
Das Ende der Karriere
 
Performancemessung, jetzt in echt
Performancemessung, jetzt in echtPerformancemessung, jetzt in echt
Performancemessung, jetzt in echt
 
Agile versus Management WJAX 2014
Agile versus Management WJAX 2014Agile versus Management WJAX 2014
Agile versus Management WJAX 2014
 
Reparier Deine Unternehmenskultur!
Reparier Deine Unternehmenskultur!Reparier Deine Unternehmenskultur!
Reparier Deine Unternehmenskultur!
 
Lügen, schlimme Lügen und IT-Verträge
Lügen, schlimme Lügen und IT-VerträgeLügen, schlimme Lügen und IT-Verträge
Lügen, schlimme Lügen und IT-Verträge
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?
 
Von Kutschern, Managern und Systemadministratoren
Von Kutschern, Managern und SystemadministratorenVon Kutschern, Managern und Systemadministratoren
Von Kutschern, Managern und Systemadministratoren
 
DevOps jenseits der Tools
DevOps jenseits der ToolsDevOps jenseits der Tools
DevOps jenseits der Tools
 
Management brainfucks
Management brainfucksManagement brainfucks
Management brainfucks
 
Lass dichueberraschen ;)
Lass dichueberraschen ;)Lass dichueberraschen ;)
Lass dichueberraschen ;)
 
Sicherheit am arbeitsplatz1
Sicherheit am arbeitsplatz1Sicherheit am arbeitsplatz1
Sicherheit am arbeitsplatz1
 
StoraEnso - Forstzertifikate und Umweltzeichen 2012
StoraEnso - Forstzertifikate und Umweltzeichen 2012StoraEnso - Forstzertifikate und Umweltzeichen 2012
StoraEnso - Forstzertifikate und Umweltzeichen 2012
 
EquityDaily.pdf
EquityDaily.pdfEquityDaily.pdf
EquityDaily.pdf
 
Einladung+Rückantwort_SpotonRuhr.pdf
Einladung+Rückantwort_SpotonRuhr.pdfEinladung+Rückantwort_SpotonRuhr.pdf
Einladung+Rückantwort_SpotonRuhr.pdf
 
pi920.pdf
pi920.pdfpi920.pdf
pi920.pdf
 
Treballem els hàbits
Treballem els hàbitsTreballem els hàbits
Treballem els hàbits
 
USP-D Die Kunst des Talent Managements
USP-D Die Kunst des Talent ManagementsUSP-D Die Kunst des Talent Managements
USP-D Die Kunst des Talent Managements
 
Exponatebeschreibung Sonderausstellung.pdf
Exponatebeschreibung Sonderausstellung.pdfExponatebeschreibung Sonderausstellung.pdf
Exponatebeschreibung Sonderausstellung.pdf
 

Similaire à Web 2.0 revisited

Enterprise UI
Enterprise UIEnterprise UI
Enterprise UIgedoplan
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das webgedoplan
 
Web-GUIs mit Vaadin
 Web-GUIs mit Vaadin Web-GUIs mit Vaadin
Web-GUIs mit Vaadingedoplan
 
Wieviel Client braucht das Web?
Wieviel Client braucht das Web?Wieviel Client braucht das Web?
Wieviel Client braucht das Web?gedoplan
 
Technisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO CampixxTechnisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO CampixxAlona Demchyk (Hakel)
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)christophd
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenMartin Leyrer
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionMartin Leyrer
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesAndré Fleischer
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?GFU Cyrus AG
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?gedoplan
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Java-Webanwendungen mit Vaadin 8
Java-Webanwendungen mit Vaadin 8Java-Webanwendungen mit Vaadin 8
Java-Webanwendungen mit Vaadin 8gedoplan
 
Cloud Computing, the next generation of internet hosting
Cloud Computing, the next generation of internet hostingCloud Computing, the next generation of internet hosting
Cloud Computing, the next generation of internet hostingCloudAngels
 

Similaire à Web 2.0 revisited (20)

Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Wieviel client braucht das web
Wieviel client braucht das webWieviel client braucht das web
Wieviel client braucht das web
 
Web-GUIs mit Vaadin
 Web-GUIs mit Vaadin Web-GUIs mit Vaadin
Web-GUIs mit Vaadin
 
SignalR
SignalRSignalR
SignalR
 
Wieviel Client braucht das Web?
Wieviel Client braucht das Web?Wieviel Client braucht das Web?
Wieviel Client braucht das Web?
 
Technisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO CampixxTechnisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO Campixx
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)Citrus Agile Testing Meetup (german)
Citrus Agile Testing Meetup (german)
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 Anwendungen
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
 
Serverless: The Missing Manual
Serverless: The Missing ManualServerless: The Missing Manual
Serverless: The Missing Manual
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit Microservices
 
Company Appstore Suite
Company Appstore SuiteCompany Appstore Suite
Company Appstore Suite
 
AngularJS
AngularJSAngularJS
AngularJS
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Java-Webanwendungen mit Vaadin 8
Java-Webanwendungen mit Vaadin 8Java-Webanwendungen mit Vaadin 8
Java-Webanwendungen mit Vaadin 8
 
Cloud Computing, the next generation of internet hosting
Cloud Computing, the next generation of internet hostingCloud Computing, the next generation of internet hosting
Cloud Computing, the next generation of internet hosting
 

Plus de Johann-Peter Hartmann

E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018Johann-Peter Hartmann
 
Warum die it nicht um new work herumkommt
Warum die it nicht um new work herumkommtWarum die it nicht um new work herumkommt
Warum die it nicht um new work herumkommtJohann-Peter Hartmann
 
RoofTop Brains & BBQ: Ein Gästbuch für China
RoofTop Brains & BBQ: Ein Gästbuch für ChinaRoofTop Brains & BBQ: Ein Gästbuch für China
RoofTop Brains & BBQ: Ein Gästbuch für ChinaJohann-Peter Hartmann
 
How not to screw the operating system of your startup
How not to screw the operating system of your startupHow not to screw the operating system of your startup
How not to screw the operating system of your startupJohann-Peter Hartmann
 
Java script security for java developers
Java script security for java developersJava script security for java developers
Java script security for java developersJohann-Peter Hartmann
 
JavaScript und Security - JavaScript Days 2013 Berlin
JavaScript und Security - JavaScript Days 2013 BerlinJavaScript und Security - JavaScript Days 2013 Berlin
JavaScript und Security - JavaScript Days 2013 BerlinJohann-Peter Hartmann
 
JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?
JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?
JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?Johann-Peter Hartmann
 

Plus de Johann-Peter Hartmann (17)

The End of my Career
The End of my CareerThe End of my Career
The End of my Career
 
E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018E-Commerce vs Architektur CodeTalks.Commerce_2018
E-Commerce vs Architektur CodeTalks.Commerce_2018
 
DevOps beyond the Tools
DevOps beyond the ToolsDevOps beyond the Tools
DevOps beyond the Tools
 
Warum die it nicht um new work herumkommt
Warum die it nicht um new work herumkommtWarum die it nicht um new work herumkommt
Warum die it nicht um new work herumkommt
 
RoofTop Brains & BBQ: Ein Gästbuch für China
RoofTop Brains & BBQ: Ein Gästbuch für ChinaRoofTop Brains & BBQ: Ein Gästbuch für China
RoofTop Brains & BBQ: Ein Gästbuch für China
 
Die Architektur, die man kann
Die Architektur, die man kannDie Architektur, die man kann
Die Architektur, die man kann
 
NewWork in der Praxis
NewWork in der PraxisNewWork in der Praxis
NewWork in der Praxis
 
How not to screw the operating system of your startup
How not to screw the operating system of your startupHow not to screw the operating system of your startup
How not to screw the operating system of your startup
 
Surviving Complexity
Surviving ComplexitySurviving Complexity
Surviving Complexity
 
Java script security for java developers
Java script security for java developersJava script security for java developers
Java script security for java developers
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
Serverside Cryptoparty
Serverside CryptopartyServerside Cryptoparty
Serverside Cryptoparty
 
Wetware Bugs and Refactoring
Wetware Bugs and RefactoringWetware Bugs and Refactoring
Wetware Bugs and Refactoring
 
JavaScript und Security - JavaScript Days 2013 Berlin
JavaScript und Security - JavaScript Days 2013 BerlinJavaScript und Security - JavaScript Days 2013 Berlin
JavaScript und Security - JavaScript Days 2013 Berlin
 
JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?
JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?
JavaScriptDays: vom 10 Tage Hack zur ersten Universalsprache?
 
Profiling for Grown-Ups
Profiling for Grown-UpsProfiling for Grown-Ups
Profiling for Grown-Ups
 

Web 2.0 revisited

Notes de l'éditeur

  1. Die größte Attack Surface der Welt - nun noch größer.\n
  2. Vorstellen!\nWer war schon auf dem Talk vor 2 Jahren? \nWer ist Developer? \nWer hat schon mal Facebook-Applikationen entwickelt? \nWer entwickelt RIA-Applikationen? \nDojo? JQuery? Was ist besser? \nWer kennt XSS? CSRF? \nIch setze XSS vorraus\n\n
  3. Wie sieht es bisher im Web 1.0 aus?\n2/3-Regel: \n2/3 aller Exploits richten sich gegen Webapplikationen\nAttack-Surface ist das Web\nKritische Daten finden im Web statt\n2/3 aller untersuchten Angriffe sind monetär motiviert\n\n\n
  4. Sicherheitssituation Web 1.0\nDaten von untersuchten Angriffen\n\n
  5. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  6. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  7. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  8. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  9. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  10. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  11. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  12. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  13. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  14. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  15. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  16. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  17. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  18. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  19. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  20. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  21. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  22. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  23. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  24. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  25. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  26. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  27. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  28. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  29. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  30. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  31. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  32. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  33. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  34. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  35. Klassische Webanwendung:\nMVC erklären: Model, View, Controller\nDer Browser ist eine 3270, mit schönem Layout und ohne eigene Intelligenz. \nDie Intelligenz findet zu 100% im Server statt.\nDie Sicherheit auch:\n- alle eingehenden Daten werden validiert \n- alle ausgehenden Daten werden escaped \n- die Logik ist verlässlich, denn sie findet komplett im Server statt\nVerschiebung bei Web 2.0:\n- Browser enthält Logik, verdient aber kein Vertrauen\n- Der View findet über das Toolkit im Client statt\n- Der Programmfluss wird von der Browser - Logik gesteuert\n- Der Server ist auf das Model, dh. die Businesslogik reduziert\n- Problem: Input-Validierung? Kann man den Angaben vom Controller trauen? \n\n
  36. Probleme bei RIA-Applikationen\n- Bei XSS ist die komplette Applikation gehijacked\n- Auch der Kommunikation mit dem Server ist nicht zu trauen\n
  37. Mit XSS kann man mit JavaScript machen was man will. \n\n
  38. Mit XSS kann man mit JavaScript machen was man will. \n\n
  39. Mit XSS kann man mit JavaScript machen was man will. \n\n
  40. Mit XSS kann man mit JavaScript machen was man will. \n\n
  41. Mit XSS kann man mit JavaScript machen was man will. \n\n
  42. Mit XSS kann man mit JavaScript machen was man will. \n\n
  43. Mit XSS kann man mit JavaScript machen was man will. \n\n
  44. \n
  45. - Backend von BEEF\n- JavaScript-Snippet per XSS - oder direkt auf der Seite eingebunden\n- Jeder Nutzer taucht als Zombie in der Liste auf\n- Clipboard auslesen\n- Intranet Spidern\n- Intranet exploiten\n
  46. \n
  47. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  48. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  49. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  50. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  51. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  52. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  53. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  54. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  55. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  56. Crossdomain erklären\nCrossdomain-Unfall bei Facebook \nJSON-Hijacking per { und (\nRootkit: dem JS manipulierte Daten liefern \nGoogle Wave und Facebook: real existierende Mashup-Welten\n
  57. Embedded Applications: \nFacebook Apps\nGoogle Wave Widgets\nJavaScript Widgets \n... \n
  58. Wichtig für Clickjacking: Iframes. \n
  59. FBJS: Virtueller Scope über einen Prefix vor jeden Funktionsnamen und jede Variable. \nDom-Methoden werden durch eigene Methoden ersetzt. \nsetInnerXHTML: eigener XSS-Cleaner (Beta - viel Glück!)\n\nADsafe: JavaScript-Verifier, der prüft, ob das JavaScript „Unsichere“ aktionen durchführt und etwa globale Objekte anfässt\n\n\n
  60. \n
  61. \n
  62. Google 2007\nCaja ist ein Transformer, mit einem Kommadozeilenaufruf\nCapabilities: Objekt + das Recht für die geplante Nutzung, und wer es benutzen darf\nOpenSocial setzt Caja ein\nBroken by design, aber besser als nichts. \n
  63. - wenn ich auf einen Button klicke, wo wird der Code ausgeführt?\n- wer sieht die Boundaries of Trust? \n
  64. \n
  65. Beispiel: XSS-Cleaner in FBJS\n
  66. 2 Probleme entstehen: \n- Ich kann meine Daten nur auf der ursprünglichen Plattform zurückziehen.\n- Der Nutzer gibt seine Daten nur für andere Nutzer frei - nicht für Spider.\n
  67. 2 Probleme entstehen: \n- Ich kann meine Daten nur auf der ursprünglichen Plattform zurückziehen.\n- Der Nutzer gibt seine Daten nur für andere Nutzer frei - nicht für Spider.\n
  68. 2 Probleme entstehen: \n- Ich kann meine Daten nur auf der ursprünglichen Plattform zurückziehen.\n- Der Nutzer gibt seine Daten nur für andere Nutzer frei - nicht für Spider.\n
  69. 2 Probleme entstehen: \n- Ich kann meine Daten nur auf der ursprünglichen Plattform zurückziehen.\n- Der Nutzer gibt seine Daten nur für andere Nutzer frei - nicht für Spider.\n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. geolocation.getCurrentPosition\nCamera.getPictureFromLibrary\nContacts.getAllContacts\nFile.deleteFile\nSettings.getVoiceMailNumber\n
  77. location-spoofing alle ausser IE8\n( und { lassen sich nicht mehr überschreiben\nOrigin/Access-Control-Header: \n- Header, der die Prüfung des Origins eines Requests erlaubt, werden vom Browser geschickt\n- der Server sendet, wer den Request abschicken durfte. \n\nContent Security Policy:\n- Header, der sagt, von welchen Domains JS-Code kommen kann\n- sämtlicher Inline-Code wird nicht mehr ausgeführt\n- nur noch JS-Files\n- seit dem 2.10.09 gibt es einen Preview für Firefox mit CSP\n\n
  78. postMessage erzwingt gezieltes Hören für Mitteilungen von einer \n
  79. \n
  80. \n