Home > CAPEC List > CAPEC-472: Browser Fingerprinting (Version 2.11)  

CAPEC-472: Browser Fingerprinting

Browser Fingerprinting
Definition in a New Window Definition in a New Window
Attack Pattern ID: 472
Abstraction: Detailed
Status: Draft
Completeness: Stub
Presentation Filter:
+ Summary

An attacker carefully crafts small snippets of Java Script to efficiently detect the type of browser the potential victim is using. Many web-based attacks need prior knowledge of the web browser including the version of browser to ensure successful exploitation of a vulnerability. Having this knowledge allows an attacker to target the victim with attacks that specifically exploit known or zero day weaknesses in the type and version of the browser used by the victim. Automating this process via Java Script as a part of the same delivery system used to exploit the browser is considered more efficient as the attacker can supply a browser fingerprinting method and integrate it with exploit code, all contained in Java Script and in response to the same web page request by the browser.

+ Attack Prerequisites
  • Victim's browser visits a website that contains attacker's Java Script

    Java Script is not disabled in the victim's browser

+ Typical Severity


+ Examples-Instances


The following code snippets can be used to detect various browsers:

Example Language: Javascript 

Firefox 2/3


Firefox 3

FF3=(function x(){})[-5]=='x'

Firefox 2

FF2=(function x(){})[-6]=='x'








Op=/^function \(/.test([].sort)
+ Solutions and Mitigations

Configuration: Disable Java Script in the browser

+ References
[R.472.1] Gareth Heyes. "Detecting browsers javascript hacks". The Spanner. January 29, 2009. <http://www.thespanner.co.uk/2009/01/29/detecting-browsers-javascript-hacks/>.
+ Content History
CAPEC Content TeamThe MITRE Corporation2014-06-23Internal_CAPEC_Team

More information is available — Please select a different filter.
Page Last Updated or Reviewed: August 04, 2017