rapid7/metasploit-framework — pull request #3042 by wchen-r7 (2014-02-26 22:43:38+00:00)
Title: Fix os_detect for Internet Explorer 11

[SeeRM #8770] This fixes an issue with IE 11 being recognized as a FF because of these matching conditions: ```(!document.all && navigator.taintEnabled || 'MozBlobBuilder' in window)```. I basically moved the IE block above the FF block, so that os_detect will check if the browser is IE before checking if it's FF. I also had to add more ```ua_version```, ```os_flavor```, and ```os_sp``` to being able to support IE 11.

Related to the following ticket:
https://dev.metasploit.com/redmine/issues/8770

### Verification Steps

Here's how you can test and verify the JavaScript:

* Copy the entire JavaScript in data/js/detect/os.js
* Choose whatever browser you wanna test, open its Developer's Tools, and then paste the JavaScript in the console
* Call ```os_detect.getVersion()``` and verify that you have the right ua_version, os_flavor, and os_sp

Make sure you try the above against these setups:

- [ ] Firefox on OS X
- [ ] Firefox on Windows
- [ ] Firefox on Linux
- [ ] Safari on OS X
- [ ] Safari on Windows
- [ ] Safari on Linux
- [ ] Chrome on OS X
- [ ] Chrome on Windows
- [ ] Chrome on Linux
- [ ] Internet Explorer 11 on Windows
- [ ] Any IE version older than 11 on Windows

You should also verify that:

- [ ] Without the patch, browser autopwn should fail against IE 11. "Fail" as in it's not serving exploits.
- [ ] With the patch, browser autopwn should serve exploits against IE 11.