beefproject/beef — Issue #205: Implement Browser Detection Class
Author: passbe
Created: 2011-12-10 22:03:09+00:00
State: open

Implement a browser detection JS class that will successfully run on all browsers.

Plugins can mask the browser type, version and the operating system. This JS class will attempt to detect the true details of the browser. It will use detection via non-standard methods by checking unique functions, exceptions and browser bugs to identify the browser details.

Using a JavaScript try/catch block attempt to call functions only existing in one or more browser types and on one operating system. Various combinations of success and failuer will fingerprint the underlying browser.

Some examples of (un)supported functionality can be seen here:
http://www.quirksmode.org/compatibility.html

It would be done using some kind of finger printing using similar techniques as: http://www.blackhat.com/presentations/bh-usa-09/EGYPT/BHUSA09-Egypt-GuidedMissiles-SLIDES.pdf
Google Code Issue: http://code.google.com/p/beef/issues/detail?id=73