X hits on this document





18 / 40

Client Fingerprinting via Analysis of Browser Scripting Environment


that had signatures collected, it is the only one that supports JavaScript, JScript and VBScript. Only JavaScript versions up to version 1.3 are supported by Internet Explorer.

Unlike JavaScript, the version of JScript and VBScript cannot be specified as part of the script tag. The Microsoft JScript and VBScript environments provide the ScriptEngineMajorVerion, ScriptEngineMinorVersion and ScriptEngineBuildVersion properties, which can be used to obtain detailed information about the script engine. The version of the script engine will be either be 5.6, 5.7 or 5.8 for Internet Explorer 6.0, either 5.7 or 5.8 for Internet Explorer 7.0, 5.8 for Internet Explorer 8.0, and 9.0 for Internet Explorer 9.0 preview and beta. The build version of the script can be used to identify specific O/S variants. As an example, version 16385 is Windows 7, while 6000 is Windows Vista. This functionality was previously described at BlackHat USA 2009 presentation by a developer of the Metasploit Framework (Lee, 2009).

The navigator.browserLanguage, navigator.systemLanguage, and navigator.userLanguage provide information about the language being used by the browser and O/S. The property returns a 2 character lower case language code, followed by a country code with a hyphen (-) for a separator. Internet Explorer 6, 7, 8 and 9 Beta all return lower case country codes, while the Internet Explorer 9.0 Previews return an upper case country code.

The navigator.appMinorVersion property returns a value of ‘0’, with two exceptions for Internet Explorer 6.0 and Internet Explorer 9.0 beta. Internet Explorer 6.0 returns the service pack that is installed on the O/S, and Internet Explorer 9.0 beta returns the value of ‘beta’. In addition to the navigator.appMinorVersion, navigator.userProfile can also be used to identify Internet Explorer 6.0. The navigator.userProfile Internet Explorer 6.0 is not undefined.

Unlike most other browsers which return ‘Netscape’ in the navigator.appName property, Internet Explorer returns ‘Microsoft Internet Explorer’. All version of Internet Explorer that was tested returned this value.

Information about the processor architecture is contained within the navigator.cpuClass and navigator.platform properties. 32-bit (x86) and 64-bit (x86-64) architectures will return ‘x86’ for navigator.cpuClass and ‘Win32’ for navigator.platform.

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

Document info
Document views148
Page views148
Page last viewedSun Jan 22 10:24:34 UTC 2017