Sha256: 2bc798f0ccf9000fad394834dcd2b1e4ebde893f694fc56f93ddd5464f123a31
Contents?: true
Size: 1.77 KB
Versions: 3
Compression:
Stored size: 1.77 KB
Contents
require_relative 'core/cli_options' module CMSScanner module Controller # Core Controller class Core < Base def setup_cache return unless parsed_options[:cache_dir] storage_path = File.join(parsed_options[:cache_dir], Digest::MD5.hexdigest(target.url)) Typhoeus::Config.cache = Cache::Typhoeus.new(storage_path) Typhoeus::Config.cache.clean if parsed_options[:clear_cache] end def before_scan(output_banner = true) output('banner') if output_banner setup_cache check_target_availability end # Checks that the target is accessible, raises related errors otherwise # # @return [ Void ] def check_target_availability res = NS::Browser.get(target.url) case res.code when 0 raise TargetDownError, res when 401 raise HTTPAuthRequiredError when 403 raise AccessForbiddenError when 407 raise ProxyAuthRequiredError end # Checks for redirects # An out of scope redirect will raise an HTTPRedirectError effective_url = target.homepage_res.effective_url return if target.in_scope?(effective_url) raise HTTPRedirectError, effective_url unless parsed_options[:ignore_main_redirect] target.homepage_res = res end def run @start_time = Time.now @start_memory = memory_usage output('started', url: target.url, effective_url: target.homepage_url) end def after_scan @stop_time = Time.now @elapsed = @stop_time - @start_time @used_memory = memory_usage - @start_memory @requests_done = CMSScanner.total_requests output('finished') end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cms_scanner-0.0.38.2 | app/controllers/core.rb |
cms_scanner-0.0.38.1 | app/controllers/core.rb |
cms_scanner-0.0.38.0 | app/controllers/core.rb |