Files
metasploit-gs/lib/msf/core/exploit/browser_autopwn.rb
T
2017-07-24 06:26:21 -07:00

57 lines
1.9 KiB
Ruby

# -*- coding: binary -*-
#
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# https://metasploit.com/framework/
require 'msf/core/auxiliary'
module Msf
module Exploit::Remote::BrowserAutopwn
include Msf::Auxiliary::Report
# this is the magic
def self.included(base)
base.extend(AutopwnClassMethods)
end
module AutopwnClassMethods
def self.extended(base)
if base.const_defined? "Rank"
@@autopwn_rank = base.const_get("Rank")
else
@@autopwn_rank = RankingName.invert['manual']
end
end
def autopwn_opts
@autopwn_opts.dup
end
def autopwn_info(opts={})
# prefix_html and postfix_html are only used for noscript exploits
# vuln_test is only used for javascript exploits
@autopwn_opts = {}
@autopwn_opts[:ua_name] = opts[:ua_name] || nil
@autopwn_opts[:ua_minver] = opts[:ua_minver] || opts[:ua_minversion] || nil
@autopwn_opts[:ua_maxver] = opts[:ua_maxver] || opts[:ua_maxversion] || nil
@autopwn_opts[:ua_ver] = opts[:ua_ver] || opts[:ua_version] || nil
@autopwn_opts[:classid] = opts[:classid] || opts[:clsid] || nil
@autopwn_opts[:method] = opts[:method] || opts[:method] || nil
@autopwn_opts[:javascript] = (opts[:javascript].nil?) ? true : opts[:javascript]
@autopwn_opts[:os_name] = opts[:os_name] || nil
@autopwn_opts[:os_ver] = opts[:os_ver] || opts[:os_version] || nil
@autopwn_opts[:postfix_html] = opts[:postfix_html] || nil
@autopwn_opts[:prefix_html] = opts[:prefix_html] || nil
@autopwn_opts[:vuln_test] = opts[:vuln_test] || opts[:vulntest] || ""
@autopwn_opts[:rank] = opts[:rank] || @@autopwn_rank
end
end
end
end