SlideShare a Scribd company logo
Novos ataques em
www.estuarioti.com.br




                         Aplicações Web.
@estuarioti




                                                Rafael Silva
                               rafaelsilva@estuarioti.com.br
Agenda
 Whoami

 OWASP top 10

 Ferramentas X SkillSet

 IFrames

 HTML 5 Hacking Features

 Cursor Hijack / Click Hijack

 HTTP Parameter Pollution

 HTTPOnly XSS Bypass


                                 www.estuarioti.com.br   @estuarioti
$whoami

 OWASP Member

 rfdslabs || TheBug Magazine

 FAB (Força Aérea Brasileira)

 C.E.S.A.R

 Tempest                        @rfdslabs

 EstuárioTI 




                                 www.estuarioti.com.br   @estuarioti
Owasp TOP 10




               www.estuarioti.com.br   @estuarioti
Ferramentas X skillSet


 Nessus, Acunetix, Nstalker…

 Attacks and Vulnerabilities

 Automated scanners not detect:
      Session Fixation
      Privilege Escalation [Horizontal and Vertical]
      Logout
      Logic Flaws
      Unauthenticated Direct Access
      “Forgot my password”
      …



                                                        www.estuarioti.com.br   @estuarioti
IFRAMES



 Stealth

 Browser Exploit or JAVA or SWF…

 Insert Malicious Javascript

 Stored XSS + IFRAME = Chaos

 Redirect Defacement




                                    www.estuarioti.com.br   @estuarioti
IFRAMES




          www.estuarioti.com.br   @estuarioti
IFRAMES


          DEMO 1




                   www.estuarioti.com.br   @estuarioti
HTML 5 Hacking Features


             Cross Origin Resource Sharing

 Cross Domain AJAX

 With Cookies

 Blind

 Not limited to <form> syntax

 Used to Trigger CSRF

                                             www.estuarioti.com.br   @estuarioti
HTML 5 Hacking Features


          Cross Origin Resource Sharing




                                          www.estuarioti.com.br   @estuarioti
HTML 5 Hacking Features


          Cross Origin Resource Sharing




                                          www.estuarioti.com.br   @estuarioti
HTML 5 Hacking Features


                Silent File Upload

 Java Script FileUpload!
  Stealth <input type=file> with any file
  name and content
 Use CORS

 How? Create raw multipart/form-data

                                     www.estuarioti.com.br   @estuarioti
HTML 5 Hacking Features


             Silent File Upload




                                  www.estuarioti.com.br   @estuarioti
HTML 5 Hacking Features


             Silent File Upload




                                  www.estuarioti.com.br   @estuarioti
HTML 5 Hacking Features


                           Silent File Upload

 No User Action

 No Frames

 Cross-domain with cookies 

 Works in most browsers 

 You can add more form fields

-- CSRF flaw needed

-- No access to response

                                                www.estuarioti.com.br   @estuarioti
Cursor Hijack / Click Hijack


 Facebook Scams


 Actively Exploited


 Javascript in url bar 


 NoScript Plugin to mitigate 


 Use your creativity


                                  www.estuarioti.com.br   @estuarioti
Cursor Hijack / Click Hijack




                               www.estuarioti.com.br   @estuarioti
Cursor Hijack / Click Hijack




                               www.estuarioti.com.br   @estuarioti
Cursor Hijack / Click Hijack




                               www.estuarioti.com.br   @estuarioti
Cursor Hijack / Click Hijack


                DEMO 2




                               www.estuarioti.com.br   @estuarioti
Cursor Hijack / Click Hijack


                DEMO 3




                               www.estuarioti.com.br   @estuarioti
HTTP Parameter Pollution


 Query String Term ?

 Defined in the RFC 3986

 GET and POST:




 Query string meta characters are & ? # ; =



                                               www.estuarioti.com.br   @estuarioti
HTTP Parameter Pollution




                           www.estuarioti.com.br   @estuarioti
HTTP Parameter Pollution


 Bypass ModSecurity



Busted Query:



Accepted Query:




                           www.estuarioti.com.br   @estuarioti
HTTP Parameter Pollution


 Bypass IBM Web Application Firewall (FIXED)



Busted Query:


Accepted Query:




Discovered by Wendel Henrique from Trustwave Labs


                                                    www.estuarioti.com.br   @estuarioti
HTTPOnly XSS Bypass


 Implemented in 2002 by Microsoft in IE 6

 Additional FLAG included in a Set-Cookie HTTP responde
  header

 Exploiting a XSS with a HTTPOnly in response? No cookies
  for you? 




                                             www.estuarioti.com.br   @estuarioti
HTTPOnly XSS Bypass


How to Bypass?

 Cross-Site Tracking – HTTP TRACE (FIXED)

 XMLHttpRequest also blocked TRACE Method (FIXED)

 CVE-2009-0357 XMLHttpRequest in FireFox (FIXED)




                                             www.estuarioti.com.br   @estuarioti
HTTPOnly XSS Bypass


       Java API Applet HTTP TACE (FIXED)




                                     www.estuarioti.com.br   @estuarioti
HTTPOnly XSS Bypass


 Java GetHeaderField in java.net.URLConnection package
  (UNFIXED) 

 By Aung Khant http://yehg.net




                                           www.estuarioti.com.br   @estuarioti
HTTPOnly XSS Bypass




                      www.estuarioti.com.br   @estuarioti
HTTPOnly XSS Bypass


 and… WORKS! 




                      www.estuarioti.com.br   @estuarioti
EstuárioTI




             www.estuarioti.com.br   @estuarioti
References




Tempest Blog

Steffano di Paola

SecKB Blog

OWASP

Marcus Niemietz



                    www.estuarioti.com.br   @estuarioti

More Related Content

PPT
3 S's to a Successful Launch
PPT
Joomladay Switzerland - security
ODP
Joomladay Netherlands - Security
PDF
Os Nightingale
PPTX
Adversary tactics config mgmt-&amp;-logs-oh-my
PDF
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
PPTX
XSS (Cross Site Scripting)
PPT
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
3 S's to a Successful Launch
Joomladay Switzerland - security
Joomladay Netherlands - Security
Os Nightingale
Adversary tactics config mgmt-&amp;-logs-oh-my
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
XSS (Cross Site Scripting)
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...

Recently uploaded (20)

PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Modernising the Digital Integration Hub
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
project resource management chapter-09.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPT
What is a Computer? Input Devices /output devices
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
STKI Israel Market Study 2025 version august
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
August Patch Tuesday
PDF
Getting Started with Data Integration: FME Form 101
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
The various Industrial Revolutions .pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
OMC Textile Division Presentation 2021.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Modernising the Digital Integration Hub
Zenith AI: Advanced Artificial Intelligence
Web App vs Mobile App What Should You Build First.pdf
project resource management chapter-09.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Assigned Numbers - 2025 - Bluetooth® Document
What is a Computer? Input Devices /output devices
cloud_computing_Infrastucture_as_cloud_p
STKI Israel Market Study 2025 version august
Hindi spoken digit analysis for native and non-native speakers
August Patch Tuesday
Getting Started with Data Integration: FME Form 101
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
NewMind AI Weekly Chronicles - August'25-Week II
The various Industrial Revolutions .pptx
Group 1 Presentation -Planning and Decision Making .pptx
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
Ad
Ad

Security Day - Chesf

  • 1. Novos ataques em www.estuarioti.com.br Aplicações Web. @estuarioti Rafael Silva rafaelsilva@estuarioti.com.br
  • 2. Agenda  Whoami  OWASP top 10  Ferramentas X SkillSet  IFrames  HTML 5 Hacking Features  Cursor Hijack / Click Hijack  HTTP Parameter Pollution  HTTPOnly XSS Bypass www.estuarioti.com.br @estuarioti
  • 3. $whoami  OWASP Member  rfdslabs || TheBug Magazine  FAB (Força Aérea Brasileira)  C.E.S.A.R  Tempest @rfdslabs  EstuárioTI  www.estuarioti.com.br @estuarioti
  • 4. Owasp TOP 10 www.estuarioti.com.br @estuarioti
  • 5. Ferramentas X skillSet  Nessus, Acunetix, Nstalker…  Attacks and Vulnerabilities  Automated scanners not detect:  Session Fixation  Privilege Escalation [Horizontal and Vertical]  Logout  Logic Flaws  Unauthenticated Direct Access  “Forgot my password”  … www.estuarioti.com.br @estuarioti
  • 6. IFRAMES  Stealth  Browser Exploit or JAVA or SWF…  Insert Malicious Javascript  Stored XSS + IFRAME = Chaos  Redirect Defacement www.estuarioti.com.br @estuarioti
  • 7. IFRAMES www.estuarioti.com.br @estuarioti
  • 8. IFRAMES DEMO 1 www.estuarioti.com.br @estuarioti
  • 9. HTML 5 Hacking Features Cross Origin Resource Sharing  Cross Domain AJAX  With Cookies  Blind  Not limited to <form> syntax  Used to Trigger CSRF www.estuarioti.com.br @estuarioti
  • 10. HTML 5 Hacking Features Cross Origin Resource Sharing www.estuarioti.com.br @estuarioti
  • 11. HTML 5 Hacking Features Cross Origin Resource Sharing www.estuarioti.com.br @estuarioti
  • 12. HTML 5 Hacking Features Silent File Upload  Java Script FileUpload! Stealth <input type=file> with any file name and content  Use CORS  How? Create raw multipart/form-data www.estuarioti.com.br @estuarioti
  • 13. HTML 5 Hacking Features Silent File Upload www.estuarioti.com.br @estuarioti
  • 14. HTML 5 Hacking Features Silent File Upload www.estuarioti.com.br @estuarioti
  • 15. HTML 5 Hacking Features Silent File Upload  No User Action  No Frames  Cross-domain with cookies   Works in most browsers   You can add more form fields -- CSRF flaw needed -- No access to response www.estuarioti.com.br @estuarioti
  • 16. Cursor Hijack / Click Hijack  Facebook Scams  Actively Exploited  Javascript in url bar   NoScript Plugin to mitigate   Use your creativity www.estuarioti.com.br @estuarioti
  • 17. Cursor Hijack / Click Hijack www.estuarioti.com.br @estuarioti
  • 18. Cursor Hijack / Click Hijack www.estuarioti.com.br @estuarioti
  • 19. Cursor Hijack / Click Hijack www.estuarioti.com.br @estuarioti
  • 20. Cursor Hijack / Click Hijack DEMO 2 www.estuarioti.com.br @estuarioti
  • 21. Cursor Hijack / Click Hijack DEMO 3 www.estuarioti.com.br @estuarioti
  • 22. HTTP Parameter Pollution  Query String Term ?  Defined in the RFC 3986  GET and POST:  Query string meta characters are & ? # ; = www.estuarioti.com.br @estuarioti
  • 23. HTTP Parameter Pollution www.estuarioti.com.br @estuarioti
  • 24. HTTP Parameter Pollution  Bypass ModSecurity Busted Query: Accepted Query: www.estuarioti.com.br @estuarioti
  • 25. HTTP Parameter Pollution  Bypass IBM Web Application Firewall (FIXED) Busted Query: Accepted Query: Discovered by Wendel Henrique from Trustwave Labs www.estuarioti.com.br @estuarioti
  • 26. HTTPOnly XSS Bypass  Implemented in 2002 by Microsoft in IE 6  Additional FLAG included in a Set-Cookie HTTP responde header  Exploiting a XSS with a HTTPOnly in response? No cookies for you?  www.estuarioti.com.br @estuarioti
  • 27. HTTPOnly XSS Bypass How to Bypass?  Cross-Site Tracking – HTTP TRACE (FIXED)  XMLHttpRequest also blocked TRACE Method (FIXED)  CVE-2009-0357 XMLHttpRequest in FireFox (FIXED) www.estuarioti.com.br @estuarioti
  • 28. HTTPOnly XSS Bypass Java API Applet HTTP TACE (FIXED) www.estuarioti.com.br @estuarioti
  • 29. HTTPOnly XSS Bypass  Java GetHeaderField in java.net.URLConnection package (UNFIXED)   By Aung Khant http://yehg.net www.estuarioti.com.br @estuarioti
  • 30. HTTPOnly XSS Bypass www.estuarioti.com.br @estuarioti
  • 31. HTTPOnly XSS Bypass  and… WORKS!  www.estuarioti.com.br @estuarioti
  • 32. EstuárioTI www.estuarioti.com.br @estuarioti
  • 33. References Tempest Blog Steffano di Paola SecKB Blog OWASP Marcus Niemietz www.estuarioti.com.br @estuarioti

Editor's Notes

  • #23: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresem um array
  • #24: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #25: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #26: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #27: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #28: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #29: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #30: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #31: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #32: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #33: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array
  • #34: 4 comportamentospadroesUtilizasomente o ultimo valor repassadoUtilizasomente o primeiro valor repassadoConcatenatodososvaloresutilizando um separadorTransformatodososvaloresemum array