X hits on this document





27 / 40

Client Fingerprinting via Analysis of Browser Scripting Environment


will process JavaScript and like Safari and Google Chrome it will attempt to process Microsoft JScript with its JavaScript processor until a Microsoft Internet Explorer unique function is encountered. Opera also is compliant with RFC4329 which obsoletes the JavaScript version identifier associated with the script tag, so it will process all JavaScript found on the page regardless of the JavaScript version associated with the script.

The Opera Browser also returns fairly unique value for the navigator.appName property, ‘Opera’. The navigator.browserLanguage, navigator.language, and navigator.userLanguage provide information about the language is being used by the browser and O/S. The property returns a 2 character lower case language code with no associated country codes.

Besides navigator.appVersion and navigator.userAgent, Opera only provides information in the navigator.platform property to return information about the O/S. Typically values returned by the navigator.platform property include: FreeBSD, Linux, MacIntel, and Win32. Specific information about the O/S and/or processor architecture is only available from within the navigator.appVersion and navigator.userAgent properties. As an example, both 32-bit and 64-bit Linux O/Ss will have “X11; Linux i686;” or “X11; Linux x86_64;” tokens in the navigator.appVersion and navigator.userAgent properties but navigator.platform will only contain “Linux”. This feature also helps to distinguish it from other browsers, in that other browsers will commonly return something similar to “Linux i686” or “Linux amd” (e.g. Linux with a Processor Architecture identifier).

Opera also provides the window.opera object which scripts can access additional information and make use of specific functionality within the browser. This functionality was previously described at BlackHat USA 2009 presentation by a developer of the Metasploit Framework (Lee, 2009). Specifically the window.opera.buildNumber() and window.opera.version() functions return specific information about the browser. The window.opera.version() function returns the version of opera that is being used (i.e. “10.10” or “10.61”), while the window.opera.buildNumber() function returns the build number of the browser (i.e. “6386”, “8402”, or “3445” for Opera 10.61). These values can be used to identify specific O/Ss. For example, Opera 10.61 with a Microsoft

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

Document info
Document views129
Page views129
Page last viewedMon Jan 16 10:59:03 UTC 2017