X hits on this document





23 / 40

Client Fingerprinting via Analysis of Browser Scripting Environment


navigator.userLanguage: undefined navigator.userProfile: undefined navigator.vendor: Apple Computer, Inc. navigator.vendorSub: dne custom.scripting: Javascript/1.7 JScript/0.0 custom.property: !d.all d.childNodes d.compatMode !d.documentMode

  • d.

    getElementById d.getElementsByClassName !n.savePreferences

  • w.

    XMLHttpRequest !w.globalStorage w.postMessage Figure 5.3-1: Apple Safari 4.0.5 on iPhone 3G with iOS 4.0.1 The Apple Safari browser provides a number of properties which allow it to be

identified, but this identification can be limited depending upon how the properties are modified. As Safari and Google Chrome are based upon WebKit for rendering the pages, the differences between the Safari and Google Chrome is reduced as compared to the differences between Safari and other browsers such as Microsoft Internet Explorer or Mozilla Firefox. Safari will execute scripts with a version up to and including JavaScript version 1.7. Also Safari will execute Microsoft JScript as though it was JavaScript until it encounters a Microsoft specific function.

Specific information about the O/S is included in navigator.appVersion and navigator.userAgent. These two JavaScript properties will contain the ‘Safari/’, ‘AppleWebKit/’ and ‘Version/’ tokens each of which is followed by a version identifier. If Safari is running on an Apple device such as an iPad, iPhone, or an iPod Touch it will also contain a ‘Mobile/’ token which contains a device identifier.

Safari has the navigator.language property which provides information about the browser’s language. The format of this field is always a 2 character lower case language code, and if a country is specified with will be in separated by a hyphen (-) character. If the country code is uppercase, then the browser is running on Microsoft Windows, otherwise if the country code’s characters are all lower case it is running on an Apple platform (Mac OS X, iPhone, iPad, etc).

The navigator.platform provides additional information about the device. It will return values of iPad (e.g. an iPad), iPhone (e.g. an iPhone, any variant), iPod (e.g. iPod Touch), MacIntel (e.g. Apple Mac OS X with an Intel processor) or Win32 (e.g. Microsoft Windows O/S).

Mark Fioravanti, mark.fioravanti.ii@gmail.com

Document info
Document views167
Page views167
Page last viewedTue Jan 24 22:15:15 UTC 2017