DOM-based XSS




        Krassen Deltchev Zdravko Danailov

{Krassen Deltchev|Zdravko Danailov} %2540 rub.de



                    10.04.12
Gliederung
 1. Stats und Grundwissen
 2. Klassische XSS vs. DOMXSS
 3. Technischer Hintergrund
 4. S3 Meta-Model
 5. URL- obfuscation
 6. Demo
 7. Verteidigungsmechanismen
 8. Ansätze und Modelle
 9. Pen-testing tools           2

 10. Zusammenfassung
Stats und Grundwissen




                        3

  Quelle 1
Stats und Grundwissen




                        4

  Quelle 2
Klassische XSS vs. DOMXSS
1. Klassische XSS:
         NP-XSS( reflected XSS)
         P-XSS( stored, persistent XSS)
         Man braucht einen laufenden Web-Server
         Forensics gibt es, auch WAFs
         Man schützt den Server, oder die Server-Konstellation
2. DOMXSS
         Klientseitig( client-side)
         Ein laufender Web-Server ist nicht unbedingt
         Client-Side Forensics s**xs, keine WAFs
         Man schützt das Browser-/User-Agent-Verhalten           5
Technischer Hintergrund




                          6
S3 Meta-Model




                7
URL-obfuscation




                  8
9
Verteidigungsmechanismen
 1. Basic level:
           Routine tasks
           Dokumentation
           Version kontrolling
           Cheat sheets:
                  DOM based XSS Prevention Cheat Sheet, in 3
                  HTML5 Security Cheatsheet, in 4
                  HTML5_Security_Cheat_Sheet XSS (Cross Site Scripting) Preventi-
                     on Cheat Sheet, in 5
                  XSS (Cross Site Scripting) Cheat Sheet, Esp: for filter evasion, in 6

 2. Advanced level: Approach I & Approach II
 3. HoneyWebEnv + WebScarab                                                                10
Verteidigungsmechanismen
  Approach I & Approach II




                             11
Ansätze und Modelle
                               Defensive STO Modell

 Level Type           Strategical layer   Tactical layer        Operational layer



 Realization          Basic security      All tasks are         Admin tasks,
 (Level of security                       necessary             manuals,
 model)                                                         cheatsheets
                      Advanced            Find proper Models:   Patterns, Security
                      security            S3MM, AFA             APIs, Coaching
 Execution            Questions:          manual                documentation
 (Manual vs.          ●Manual/
                                          automated             Web-scanners
 Automated)           automated
                      ●concurrency        semi-automated        Forensics
 Deployment stage     Improving the       Comparing to other    Apply approprate
                      SSDLC               SSDLCs                decisions on every
                                                                stage of the SDLC    12
Ansätze und Modelle




                      13
Ansätze und Modelle




                      14
Ansätze und Modelle




   Client-side
   Web-Application
   filtering

                      15
Penetration Testing
  1. Static code checkers:
           DOM XSS Scanner
  2. Dynamic code checkers:
           DOMScan,
           DOMTracer and
           WebScarab(NG)
  3. Mixed tools:
           DOM Snitch
           Dominator
  4. Educational tools:
                                  16
           WebGoat , innerHTML
Zusammenfassung
 1. Über 100 Seiten getestet → alle weisen auf XSS, o. DOMXSS
 2. Domxsswiki ist wichtig → Literatur organisiert
 3. Vereinfachte Modelle sind präsent: S3MM, DSTO, SSDLC, A I & A II
 4. S3MM DOMXSS DBS ist wichtig
 5. 3rd party libraries brauchen Evaluierung(Dojo, Knockout., Backbone.js etc.)
 6. IceShield ist viel versprechend
            Nebenläufige Evaluierung
 7. PHPIDS & ESAPI4JS brauchen Verbesserung
 8. DOMXSS PT-Tools müssen verbessert werden
            DOMinator, DOMXSSScanner
                                                                                  17
 9. Kognitive Filter( WOT) und Semantic Search sind wichtig
Fragen




         18
Quellenverzeichnis
1. 2011: Web Application Security Metrics Landscape, Arian Evans
2. 2011: WhiteHat Website Security Statistic Report, WhiteHat
3. https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_S
4. http://html5sec.org/
   https://www.owasp.org/index.php/
5. https://www.owasp.org/index.php/XSS_Prevention_Cheat_Sheet
6. http://ha.ckers.org/xss.html




                                                                   19

DOM-based XSS

  • 1.
    DOM-based XSS Krassen Deltchev Zdravko Danailov {Krassen Deltchev|Zdravko Danailov} %2540 rub.de 10.04.12
  • 2.
    Gliederung 1. Statsund Grundwissen 2. Klassische XSS vs. DOMXSS 3. Technischer Hintergrund 4. S3 Meta-Model 5. URL- obfuscation 6. Demo 7. Verteidigungsmechanismen 8. Ansätze und Modelle 9. Pen-testing tools 2 10. Zusammenfassung
  • 3.
  • 4.
  • 5.
    Klassische XSS vs.DOMXSS 1. Klassische XSS:  NP-XSS( reflected XSS)  P-XSS( stored, persistent XSS)  Man braucht einen laufenden Web-Server  Forensics gibt es, auch WAFs  Man schützt den Server, oder die Server-Konstellation 2. DOMXSS  Klientseitig( client-side)  Ein laufender Web-Server ist nicht unbedingt  Client-Side Forensics s**xs, keine WAFs  Man schützt das Browser-/User-Agent-Verhalten 5
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    Verteidigungsmechanismen 1. Basiclevel:  Routine tasks  Dokumentation  Version kontrolling  Cheat sheets:  DOM based XSS Prevention Cheat Sheet, in 3  HTML5 Security Cheatsheet, in 4  HTML5_Security_Cheat_Sheet XSS (Cross Site Scripting) Preventi- on Cheat Sheet, in 5  XSS (Cross Site Scripting) Cheat Sheet, Esp: for filter evasion, in 6 2. Advanced level: Approach I & Approach II 3. HoneyWebEnv + WebScarab 10
  • 11.
  • 12.
    Ansätze und Modelle Defensive STO Modell Level Type Strategical layer Tactical layer Operational layer Realization Basic security All tasks are Admin tasks, (Level of security necessary manuals, model) cheatsheets Advanced Find proper Models: Patterns, Security security S3MM, AFA APIs, Coaching Execution Questions: manual documentation (Manual vs. ●Manual/ automated Web-scanners Automated) automated ●concurrency semi-automated Forensics Deployment stage Improving the Comparing to other Apply approprate SSDLC SSDLCs decisions on every stage of the SDLC 12
  • 13.
  • 14.
  • 15.
    Ansätze und Modelle Client-side Web-Application filtering 15
  • 16.
    Penetration Testing 1. Static code checkers:  DOM XSS Scanner 2. Dynamic code checkers:  DOMScan,  DOMTracer and  WebScarab(NG) 3. Mixed tools:  DOM Snitch  Dominator 4. Educational tools: 16  WebGoat , innerHTML
  • 17.
    Zusammenfassung 1. Über100 Seiten getestet → alle weisen auf XSS, o. DOMXSS 2. Domxsswiki ist wichtig → Literatur organisiert 3. Vereinfachte Modelle sind präsent: S3MM, DSTO, SSDLC, A I & A II 4. S3MM DOMXSS DBS ist wichtig 5. 3rd party libraries brauchen Evaluierung(Dojo, Knockout., Backbone.js etc.) 6. IceShield ist viel versprechend  Nebenläufige Evaluierung 7. PHPIDS & ESAPI4JS brauchen Verbesserung 8. DOMXSS PT-Tools müssen verbessert werden  DOMinator, DOMXSSScanner 17 9. Kognitive Filter( WOT) und Semantic Search sind wichtig
  • 18.
  • 19.
    Quellenverzeichnis 1. 2011: WebApplication Security Metrics Landscape, Arian Evans 2. 2011: WhiteHat Website Security Statistic Report, WhiteHat 3. https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_S 4. http://html5sec.org/ https://www.owasp.org/index.php/ 5. https://www.owasp.org/index.php/XSS_Prevention_Cheat_Sheet 6. http://ha.ckers.org/xss.html 19