@@ -42,20 +42,21 @@ module Exploit::Remote::BrowserExploitServer
42
42
43
43
# Requirements a browser module can define in either BrowserRequirements or in targets
44
44
REQUIREMENT_KEY_SET = {
45
- :source => 'source' , # Either 'script' or 'headers'
46
- :ua_name => 'ua_name' , # Example: MSIE
47
- :ua_ver => 'ua_ver' , # Example: 8.0, 9.0
48
- :os_name => 'os_name' , # Example: Microsoft Windows
49
- :os_flavor => 'os_flavor' , # Example: XP, 7
50
- :language => 'language' , # Example: en-us
51
- :arch => 'arch' , # Example: x86
52
- :proxy => 'proxy' , # 'true' or 'false'
53
- :silverlight => 'silverlight' , # 'true' or 'false'
54
- :office => 'office' , # Example: "2007", "2010"
55
- :java => 'java' , # Example: 1.6, 1.6.0.0
56
- :clsid => 'clsid' , # ActiveX clsid. Also requires the :method key
57
- :method => 'method' , # ActiveX method. Also requires the :clsid key
58
- :mshtml_build => 'mshtml_build' # mshtml build. Example: "65535"
45
+ :source => 'source' , # Either 'script' or 'headers'
46
+ :ua_name => 'ua_name' , # Example: MSIE
47
+ :ua_ver => 'ua_ver' , # Example: 8.0, 9.0
48
+ :os_name => 'os_name' , # Example: Microsoft Windows
49
+ :os_flavor => 'os_flavor' , # Example: XP, 7
50
+ :language => 'language' , # Example: en-us
51
+ :arch => 'arch' , # Example: x86
52
+ :proxy => 'proxy' , # 'true' or 'false'
53
+ :silverlight => 'silverlight' , # 'true' or 'false'
54
+ :office => 'office' , # Example: "2007", "2010"
55
+ :java => 'java' , # Example: 1.6, 1.6.0.0
56
+ :clsid => 'clsid' , # ActiveX clsid. Also requires the :method key
57
+ :method => 'method' , # ActiveX method. Also requires the :clsid key
58
+ :mshtml_build => 'mshtml_build' , # mshtml build. Example: "65535"
59
+ :flash => 'flash' # Example: "12.0" (chrome/ff) or "12.0.0.77" (IE)
59
60
}
60
61
61
62
def initialize ( info = { } )
@@ -222,9 +223,12 @@ def get_bad_requirements(profile)
222
223
# For more info about what the actual value might be for each key, see HttpServer.
223
224
#
224
225
# If the source is 'script', the profile might have even more information about plugins:
225
- # 'office' : The version of Microsoft Office (IE only)
226
- # 'activex' : Whether a specific method is available from an ActiveX control (IE only)
227
- # 'java' : The Java version
226
+ # 'office' : The version of Microsoft Office (IE only)
227
+ # 'activex' : Whether a specific method is available from an ActiveX control (IE only)
228
+ # 'java' : The Java version
229
+ # 'mshtml_build' : The MSHTML build version
230
+ # 'flash' : The Flash version
231
+ # 'silverlight' : The Silverlight version
228
232
#
229
233
# @param tag [String] Either a cookie or IP + User-Agent
230
234
# @return [Hash] The profile found. If not found, returns nil
@@ -375,7 +379,8 @@ def get_detection_html(user_agent)
375
379
"<%=REQUIREMENT_KEY_SET[:ua_ver]%>" : osInfo.ua_version,
376
380
"<%=REQUIREMENT_KEY_SET[:arch]%>" : osInfo.arch,
377
381
"<%=REQUIREMENT_KEY_SET[:java]%>" : window.misc_addons_detect.getJavaVersion(),
378
- "<%=REQUIREMENT_KEY_SET[:silverlight]%>" : window.misc_addons_detect.hasSilverlight()
382
+ "<%=REQUIREMENT_KEY_SET[:silverlight]%>" : window.misc_addons_detect.hasSilverlight(),
383
+ "<%=REQUIREMENT_KEY_SET[:flash]%>" : window.misc_addons_detect.getFlashVersion()
379
384
};
380
385
381
386
<% if os == OperatingSystems::WINDOWS and client == HttpClients::IE %>
0 commit comments