SlideShare a Scribd company logo
Protecting users against XSS-based
password manager abuse
AsiaCCS 2014, Kyoto
Ben Stock, Martin Johns
Agenda
●  Basics on Password Managers
●  Intention & Implementation
●  Automating attacks on Password Managers
●  Analysis of browsers and applications
●  Analysis of built-in password managers
●  Study of password fields on the Web
●  Our proposal to a more secure password manager
●  Summary & Conclusion
2
Password managers and attacks against them
Password managers
●  In a perfect world... one password per site
●  hard task to remember multiple complex passwords
●  Solution: password managers
●  take burden to remember these passwords off the user
●  Implementation in two locations
1.  submitting a form è ask user to save password
2.  loading a form è fill in user and password
4
host=http://localhost, user=user1, pwd=secret
1
2
Password manager security issues
●  Password manager detects form
●  looks up stored credentials
●  inserts them into form (and thus the DOM)
●  DOM is accessible by JavaScript
●  both benign code and XSS payloads
●  Attacker code may access field data (in clear text)
5
Automating attacks
●  Consider XSS attacker (similarly for network attacker)
●  capable of injecting HTML markup (and JavaScript code)
1.  inject form with user/password fields
2.  wait for the Password Manager to fill out form
3.  retrieve credentials and send them to the attacker
6
Password	
  
Manager	
  
A.acker	
  
Code	
  
Ninja exploitation
7
h.p://ki.enpics.org	
  
Password	
  
Manager	
  
A.acker	
  
Code	
  
Factors for a successful attack
●  URL matching
●  is XSS on any document on the domain sufficent?
●  Form matching
●  can we use a minimal form to easily automate attacks?
●  Autofilling in frames
●  can we exploit multiple domains the same time?
●  User interaction
●  can we fully automate the attack?
●  Autocomplete attribute
●  can a Web site opt out of password storage?
8
Analysis of browsers and applications
What we learned thus far...
●  Automated attacks are dependent on
●  password manager implementations
●  Web application implementation
●  autocomplete=off!
●  (delivery	
  over	
  HTTPS)	
  
●  Two analyses to conduct
●  Password manager implementations
●  Chrome, Firefox, IE, Safari, Opera and Maxthon
●  Analysis of password fields on the Web
●  Secure delivery, autocomplete, ...
10
Highlights of built-in password managers*
11
●  URL matching
●  only IE stores the URL, Maxthon does not even store protocol or
port
●  Form matching
●  no browser stored structure/target URL
●  Autofilling in frames
●  only IE refuses to insert credentials into frames
●  User interaction
●  only IE requires user interaction
●  Autocomplete attribute
●  Chrome, Opera and Maxthon do not adhere to autocomplete
*refer to the paper for the complete analysis
Analysis of password fields on the Web
●  Crawl of Alexa Top 4000
●  natural languages matching to detect login forms
●  wrapping getter for password fields to detect access
12
Characteris*c	
   #	
  Sites	
   %	
  rel.	
   %	
  abs.	
  
Password	
  field	
   2,143	
   100%	
   53,6%	
  
Form	
  on	
  HTTPS	
  page	
   821	
   38,3%	
   20,5%	
  
AcMon	
  on	
  HTTPS	
  page	
   1,197	
   55,9%	
   29,9%	
  
Autocomplete	
  off	
   293	
   13,6%	
   7,3%	
  
JavaScript	
  access	
   325	
   15,1%	
   8,1%	
  
Summarizing our findings
●  Password managers are quite relaxed in matching criteria
●  XSS on same-domain is sufficient for all but IE
●  Chrome, Opera and Maxthon don't adhere to autocomplete
●  Password fields are meant to work with managers
●  only 13,6% opt-out with autocomplete=off!
èPassword managers need to be protected
against XSS attackers
13
Building a secure password manager
Mismatch in notion/implementations
●  Password Managers should aid in authentication
●  Authentication: "Credentials are sent to the server"
●  Implementation: "Credentials are inserted into forms and
then sent to the server"
●  We propose to align implementation with notion
15
Our proposed solution
16
Password
Username
Pwd	
  
Mgr	
   Password
Nonce
Username Username
Pwd	
  
Mgr	
   Password
Username
Nonce
Username
Pwd	
  
Mgr	
  
Constraints for this approach
●  Potential pitfalls
●  Attacker changes a form's target
●  posting data to his own server / a page that reflects the content
●  Attacker changes method to GET
●  .. and subsequently reads the URL to which a frame was redirected
●  Proposed constraints
●  strict checking of form target URL
●  exchanging nonce only in POST parameters
17
PoC Implementation
Our ExtensionPassword Manager
host=http://localhost, user=user1, pwd=secret
host=http://localhost, user=user1, pwd=nonce
1
2
3
18
PoC Implementation
POST /login.php
Data: user=user1&pwd=nonce
POST /login.php
Data: user=user1&pwd=secret
Our Extension
POST /search.php
Data: user=user1&query=nonce
POST /search.php
Data: user=user1&query=nonce
19
Functional evaluation
●  325 domains used JavaScript to access password fields
●  229 domains only check that field is not empty
●  96 domains send password via XHR
●  23 domains hash password before sending it out
●  1 domain applies base64 encoding
●  6 domains send password in GET parameters
●  30/2143 domains have issues with our solution
●  98,6% of all domains we analyzed work just fine
●  storing passwords in XHRs is not currently supported by
browsers
20
Summary and Conclusion
Summary & Conclusion
●  Most current implementations of password managers
allow for automatic stealing of passwords
●  Cause: passwords are inserted into forms
●  not into outgoing request
●  We propose alignment of notion and implementation
●  PoC implemented as a Firefox extension
●  working with 98,6% of domains we analyzed
22
Thank you for your attention!
Special thanks to my student workers Eric Schmall and Armin Stock
●  @kcotsneb
●  http://kittenpics.org
●  ben.stock@fau.de

More Related Content

What's hot

Owasp Top 10 A3: Cross Site Scripting (XSS)
Owasp Top 10 A3: Cross Site Scripting (XSS)Owasp Top 10 A3: Cross Site Scripting (XSS)
Owasp Top 10 A3: Cross Site Scripting (XSS)
Michael Hendrickx
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
kinish kumar
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
 
Cross site scripting (xss)
Cross site scripting (xss)Cross site scripting (xss)
Cross site scripting (xss)
Ritesh Gupta
 
Browser Security
Browser SecurityBrowser Security
Browser Security
Roberto Suggi Liverani
 
Reflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site ScriptingReflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site Scripting
InMobi Technology
 
Security Best Practices for Bot Builders
Security Best Practices for Bot BuildersSecurity Best Practices for Bot Builders
Security Best Practices for Bot Builders
Max Feldman
 
Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation
Ikhade Maro Igbape
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
Mohammed A. Imran
 
Xss talk, attack and defense
Xss talk, attack and defenseXss talk, attack and defense
Xss talk, attack and defense
Prakashchand Suthar
 
What is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgetsWhat is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgets
Ziv Ginsberg
 
Understanding dom based xss
Understanding dom based xssUnderstanding dom based xss
Understanding dom based xss
Potato
 
XSS Injection Vulnerabilities
XSS Injection VulnerabilitiesXSS Injection Vulnerabilities
XSS Injection Vulnerabilities
Mindfire Solutions
 
Hacking A Web Site And Secure Web Server Techniques Used
Hacking A Web Site And Secure Web Server Techniques UsedHacking A Web Site And Secure Web Server Techniques Used
Hacking A Web Site And Secure Web Server Techniques Used
Siddharth Bhattacharya
 
BsidesDelhi 2018: DomGoat - the DOM Security Playground
BsidesDelhi 2018: DomGoat - the DOM Security PlaygroundBsidesDelhi 2018: DomGoat - the DOM Security Playground
BsidesDelhi 2018: DomGoat - the DOM Security Playground
BSides Delhi
 
Cross Site Scripting
Cross Site ScriptingCross Site Scripting
Cross Site ScriptingAli Mattash
 
Web security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsersWeb security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsers
Phú Phùng
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web ApplicationsIdentifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Porfirio Tramontana
 
Offline web app - Let's kill the downasaur
Offline web app - Let's kill the downasaurOffline web app - Let's kill the downasaur
Offline web app - Let's kill the downasaur
Kautilya Bhardwaj
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
Daniel Tumser
 

What's hot (20)

Owasp Top 10 A3: Cross Site Scripting (XSS)
Owasp Top 10 A3: Cross Site Scripting (XSS)Owasp Top 10 A3: Cross Site Scripting (XSS)
Owasp Top 10 A3: Cross Site Scripting (XSS)
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
 
Cross site scripting (xss)
Cross site scripting (xss)Cross site scripting (xss)
Cross site scripting (xss)
 
Browser Security
Browser SecurityBrowser Security
Browser Security
 
Reflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site ScriptingReflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site Scripting
 
Security Best Practices for Bot Builders
Security Best Practices for Bot BuildersSecurity Best Practices for Bot Builders
Security Best Practices for Bot Builders
 
Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
 
Xss talk, attack and defense
Xss talk, attack and defenseXss talk, attack and defense
Xss talk, attack and defense
 
What is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgetsWhat is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgets
 
Understanding dom based xss
Understanding dom based xssUnderstanding dom based xss
Understanding dom based xss
 
XSS Injection Vulnerabilities
XSS Injection VulnerabilitiesXSS Injection Vulnerabilities
XSS Injection Vulnerabilities
 
Hacking A Web Site And Secure Web Server Techniques Used
Hacking A Web Site And Secure Web Server Techniques UsedHacking A Web Site And Secure Web Server Techniques Used
Hacking A Web Site And Secure Web Server Techniques Used
 
BsidesDelhi 2018: DomGoat - the DOM Security Playground
BsidesDelhi 2018: DomGoat - the DOM Security PlaygroundBsidesDelhi 2018: DomGoat - the DOM Security Playground
BsidesDelhi 2018: DomGoat - the DOM Security Playground
 
Cross Site Scripting
Cross Site ScriptingCross Site Scripting
Cross Site Scripting
 
Web security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsersWeb security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsers
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web ApplicationsIdentifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web Applications
 
Offline web app - Let's kill the downasaur
Offline web app - Let's kill the downasaurOffline web app - Let's kill the downasaur
Offline web app - Let's kill the downasaur
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
 

Viewers also liked

25 Million Flows Later – Large-scale Detection of DOM-based XSS
25 Million Flows Later – Large-scale Detection of DOM-based XSS25 Million Flows Later – Large-scale Detection of DOM-based XSS
25 Million Flows Later – Large-scale Detection of DOM-based XSS
Ben Stock
 
WhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
WhiteFire Marketing | Build your Brand | Social Viral Marketing TorontoWhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
WhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
Tim Mischuk
 
Cross Site Scripting Going Beyond the Alert Box
Cross Site Scripting Going Beyond the Alert BoxCross Site Scripting Going Beyond the Alert Box
Cross Site Scripting Going Beyond the Alert Box
Aaron Weaver
 
Sukam solar ppt
Sukam solar pptSukam solar ppt
Sukam solar ppt
Safi Khan
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)
Amit Tyagi
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
ux singapore
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Stanford GSB Corporate Governance Research Initiative
 

Viewers also liked (7)

25 Million Flows Later – Large-scale Detection of DOM-based XSS
25 Million Flows Later – Large-scale Detection of DOM-based XSS25 Million Flows Later – Large-scale Detection of DOM-based XSS
25 Million Flows Later – Large-scale Detection of DOM-based XSS
 
WhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
WhiteFire Marketing | Build your Brand | Social Viral Marketing TorontoWhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
WhiteFire Marketing | Build your Brand | Social Viral Marketing Toronto
 
Cross Site Scripting Going Beyond the Alert Box
Cross Site Scripting Going Beyond the Alert BoxCross Site Scripting Going Beyond the Alert Box
Cross Site Scripting Going Beyond the Alert Box
 
Sukam solar ppt
Sukam solar pptSukam solar ppt
Sukam solar ppt
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar to Protecting Users Against XSS-based Password Manager Abuse

Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018
Niranjanaa Ragupathy
 
Evaluating a password manager
Evaluating a password managerEvaluating a password manager
Evaluating a password manager
Evan J Johnson (Not a CISSP)
 
Drupal and security - Advice for Site Builders and Coders
Drupal and security - Advice for Site Builders and CodersDrupal and security - Advice for Site Builders and Coders
Drupal and security - Advice for Site Builders and Coders
Arunkumar Kupppuswamy
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson Quick
WordCamp Sydney
 
Course_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptxCourse_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptx
ssuser020436
 
PHP BASIC PRESENTATION
PHP BASIC PRESENTATIONPHP BASIC PRESENTATION
PHP BASIC PRESENTATION
krutitrivedi
 
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generatorsDEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
Felipe Prado
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
Vlad Fedosov
 
Security .NET.pdf
Security .NET.pdfSecurity .NET.pdf
Security .NET.pdf
Abhi Jain
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecuritiesamiable_indian
 
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxThe Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
lior mazor
 
Hunting Security Bugs in Modern Web Applications
Hunting Security Bugs in Modern Web ApplicationsHunting Security Bugs in Modern Web Applications
Hunting Security Bugs in Modern Web Applications
Toe Khaing
 
005.itsecurity bcp v1
005.itsecurity bcp v1005.itsecurity bcp v1
005.itsecurity bcp v1
Mohammad Ashfaqur Rahman
 
Real-time applications with sockets and websockets. Introduction to Smartfoxs...
Real-time applications with sockets and websockets. Introduction to Smartfoxs...Real-time applications with sockets and websockets. Introduction to Smartfoxs...
Real-time applications with sockets and websockets. Introduction to Smartfoxs...
Pablo Monterde Perez
 
[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers
OWASP
 
12 Ways to Improve Magento 2 Security and Performance
12 Ways to Improve Magento 2 Security and Performance12 Ways to Improve Magento 2 Security and Performance
12 Ways to Improve Magento 2 Security and Performance
Elogic Magento Development
 
Finding and exploiting novel flaws in Java software (SyScan 2015)
Finding and exploiting novel flaws in Java software (SyScan 2015)Finding and exploiting novel flaws in Java software (SyScan 2015)
Finding and exploiting novel flaws in Java software (SyScan 2015)
David Jorm
 
Hacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass FirewallsHacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass Firewalls
Netsparker
 
Dust.js
Dust.jsDust.js

Similar to Protecting Users Against XSS-based Password Manager Abuse (20)

Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018
 
Evaluating a password manager
Evaluating a password managerEvaluating a password manager
Evaluating a password manager
 
Drupal and security - Advice for Site Builders and Coders
Drupal and security - Advice for Site Builders and CodersDrupal and security - Advice for Site Builders and Coders
Drupal and security - Advice for Site Builders and Coders
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson Quick
 
Course_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptxCourse_Presentation cyber --------------.pptx
Course_Presentation cyber --------------.pptx
 
PHP BASIC PRESENTATION
PHP BASIC PRESENTATIONPHP BASIC PRESENTATION
PHP BASIC PRESENTATION
 
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generatorsDEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
Security .NET.pdf
Security .NET.pdfSecurity .NET.pdf
Security .NET.pdf
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
 
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxThe Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
 
Hunting Security Bugs in Modern Web Applications
Hunting Security Bugs in Modern Web ApplicationsHunting Security Bugs in Modern Web Applications
Hunting Security Bugs in Modern Web Applications
 
005.itsecurity bcp v1
005.itsecurity bcp v1005.itsecurity bcp v1
005.itsecurity bcp v1
 
Real-time applications with sockets and websockets. Introduction to Smartfoxs...
Real-time applications with sockets and websockets. Introduction to Smartfoxs...Real-time applications with sockets and websockets. Introduction to Smartfoxs...
Real-time applications with sockets and websockets. Introduction to Smartfoxs...
 
[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers[OWASP Poland Day] Application security - daily questions & answers
[OWASP Poland Day] Application security - daily questions & answers
 
12 Ways to Improve Magento 2 Security and Performance
12 Ways to Improve Magento 2 Security and Performance12 Ways to Improve Magento 2 Security and Performance
12 Ways to Improve Magento 2 Security and Performance
 
Finding and exploiting novel flaws in Java software (SyScan 2015)
Finding and exploiting novel flaws in Java software (SyScan 2015)Finding and exploiting novel flaws in Java software (SyScan 2015)
Finding and exploiting novel flaws in Java software (SyScan 2015)
 
Angular SEO
Angular SEO Angular SEO
Angular SEO
 
Hacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass FirewallsHacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass Firewalls
 
Dust.js
Dust.jsDust.js
Dust.js
 

Recently uploaded

Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
obonagu
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
awadeshbabu
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
zwunae
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx
benykoy2024
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
dxobcob
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
bhadouriyakaku
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 

Recently uploaded (20)

Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
原版制作(unimelb毕业证书)墨尔本大学毕业证Offer一模一样
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx01-GPON Fundamental fttx ftth basic .pptx
01-GPON Fundamental fttx ftth basic .pptx
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 

Protecting Users Against XSS-based Password Manager Abuse

  • 1. Protecting users against XSS-based password manager abuse AsiaCCS 2014, Kyoto Ben Stock, Martin Johns
  • 2. Agenda ●  Basics on Password Managers ●  Intention & Implementation ●  Automating attacks on Password Managers ●  Analysis of browsers and applications ●  Analysis of built-in password managers ●  Study of password fields on the Web ●  Our proposal to a more secure password manager ●  Summary & Conclusion 2
  • 3. Password managers and attacks against them
  • 4. Password managers ●  In a perfect world... one password per site ●  hard task to remember multiple complex passwords ●  Solution: password managers ●  take burden to remember these passwords off the user ●  Implementation in two locations 1.  submitting a form è ask user to save password 2.  loading a form è fill in user and password 4 host=http://localhost, user=user1, pwd=secret 1 2
  • 5. Password manager security issues ●  Password manager detects form ●  looks up stored credentials ●  inserts them into form (and thus the DOM) ●  DOM is accessible by JavaScript ●  both benign code and XSS payloads ●  Attacker code may access field data (in clear text) 5
  • 6. Automating attacks ●  Consider XSS attacker (similarly for network attacker) ●  capable of injecting HTML markup (and JavaScript code) 1.  inject form with user/password fields 2.  wait for the Password Manager to fill out form 3.  retrieve credentials and send them to the attacker 6 Password   Manager   A.acker   Code  
  • 7. Ninja exploitation 7 h.p://ki.enpics.org   Password   Manager   A.acker   Code  
  • 8. Factors for a successful attack ●  URL matching ●  is XSS on any document on the domain sufficent? ●  Form matching ●  can we use a minimal form to easily automate attacks? ●  Autofilling in frames ●  can we exploit multiple domains the same time? ●  User interaction ●  can we fully automate the attack? ●  Autocomplete attribute ●  can a Web site opt out of password storage? 8
  • 9. Analysis of browsers and applications
  • 10. What we learned thus far... ●  Automated attacks are dependent on ●  password manager implementations ●  Web application implementation ●  autocomplete=off! ●  (delivery  over  HTTPS)   ●  Two analyses to conduct ●  Password manager implementations ●  Chrome, Firefox, IE, Safari, Opera and Maxthon ●  Analysis of password fields on the Web ●  Secure delivery, autocomplete, ... 10
  • 11. Highlights of built-in password managers* 11 ●  URL matching ●  only IE stores the URL, Maxthon does not even store protocol or port ●  Form matching ●  no browser stored structure/target URL ●  Autofilling in frames ●  only IE refuses to insert credentials into frames ●  User interaction ●  only IE requires user interaction ●  Autocomplete attribute ●  Chrome, Opera and Maxthon do not adhere to autocomplete *refer to the paper for the complete analysis
  • 12. Analysis of password fields on the Web ●  Crawl of Alexa Top 4000 ●  natural languages matching to detect login forms ●  wrapping getter for password fields to detect access 12 Characteris*c   #  Sites   %  rel.   %  abs.   Password  field   2,143   100%   53,6%   Form  on  HTTPS  page   821   38,3%   20,5%   AcMon  on  HTTPS  page   1,197   55,9%   29,9%   Autocomplete  off   293   13,6%   7,3%   JavaScript  access   325   15,1%   8,1%  
  • 13. Summarizing our findings ●  Password managers are quite relaxed in matching criteria ●  XSS on same-domain is sufficient for all but IE ●  Chrome, Opera and Maxthon don't adhere to autocomplete ●  Password fields are meant to work with managers ●  only 13,6% opt-out with autocomplete=off! èPassword managers need to be protected against XSS attackers 13
  • 14. Building a secure password manager
  • 15. Mismatch in notion/implementations ●  Password Managers should aid in authentication ●  Authentication: "Credentials are sent to the server" ●  Implementation: "Credentials are inserted into forms and then sent to the server" ●  We propose to align implementation with notion 15
  • 16. Our proposed solution 16 Password Username Pwd   Mgr   Password Nonce Username Username Pwd   Mgr   Password Username Nonce Username Pwd   Mgr  
  • 17. Constraints for this approach ●  Potential pitfalls ●  Attacker changes a form's target ●  posting data to his own server / a page that reflects the content ●  Attacker changes method to GET ●  .. and subsequently reads the URL to which a frame was redirected ●  Proposed constraints ●  strict checking of form target URL ●  exchanging nonce only in POST parameters 17
  • 18. PoC Implementation Our ExtensionPassword Manager host=http://localhost, user=user1, pwd=secret host=http://localhost, user=user1, pwd=nonce 1 2 3 18
  • 19. PoC Implementation POST /login.php Data: user=user1&pwd=nonce POST /login.php Data: user=user1&pwd=secret Our Extension POST /search.php Data: user=user1&query=nonce POST /search.php Data: user=user1&query=nonce 19
  • 20. Functional evaluation ●  325 domains used JavaScript to access password fields ●  229 domains only check that field is not empty ●  96 domains send password via XHR ●  23 domains hash password before sending it out ●  1 domain applies base64 encoding ●  6 domains send password in GET parameters ●  30/2143 domains have issues with our solution ●  98,6% of all domains we analyzed work just fine ●  storing passwords in XHRs is not currently supported by browsers 20
  • 22. Summary & Conclusion ●  Most current implementations of password managers allow for automatic stealing of passwords ●  Cause: passwords are inserted into forms ●  not into outgoing request ●  We propose alignment of notion and implementation ●  PoC implemented as a Firefox extension ●  working with 98,6% of domains we analyzed 22
  • 23. Thank you for your attention! Special thanks to my student workers Eric Schmall and Armin Stock ●  @kcotsneb ●  http://kittenpics.org ●  ben.stock@fau.de