Class: CMSScanner::Finders::Finder
- Inherits:
-
Object
- Object
- CMSScanner::Finders::Finder
- Defined in:
- lib/cms_scanner/finders/finder.rb,
lib/cms_scanner/finders/finder/enumerator.rb,
lib/cms_scanner/finders/finder/fingerprinter.rb,
lib/cms_scanner/finders/finder/smart_url_checker.rb,
lib/cms_scanner/finders/finder/smart_url_checker/findings.rb,
lib/cms_scanner/finders/finder/breadth_first_dictionary_attack.rb
Overview
Finder
Direct Known Subclasses
InterestingFindings::FantasticoFileslist, InterestingFindings::Headers, InterestingFindings::RobotsTxt, InterestingFindings::SearchReplaceDB2, InterestingFindings::XMLRPC
Defined Under Namespace
Modules: BreadthFirstDictionaryAttack, Enumerator, Fingerprinter, SmartURLChecker
Constant Summary collapse
- DIRECT_ACCESS =
Constants for common found_by
'Direct Access (Aggressive Detection)'
Instance Attribute Summary collapse
-
#progress_bar ⇒ Object
Returns the value of attribute progress_bar.
-
#target ⇒ Object
Returns the value of attribute target.
Instance Method Summary collapse
- #aggressive(_opts = {}) ⇒ Object
- #browser ⇒ Browser
- #create_progress_bar(opts = {}) ⇒ ProgressBar::Base
- #found_by(klass = self) ⇒ String
- #hydra ⇒ Typhoeus::Hydra
-
#initialize(target) ⇒ Finder
constructor
A new instance of Finder.
- #passive(_opts = {}) ⇒ Object
-
#titleize ⇒ String
The titleized name of the finder.
Constructor Details
#initialize(target) ⇒ Finder
Returns a new instance of Finder.
17 18 19 |
# File 'lib/cms_scanner/finders/finder.rb', line 17 def initialize(target) @target = target end |
Instance Attribute Details
#progress_bar ⇒ Object
Returns the value of attribute progress_bar.
15 16 17 |
# File 'lib/cms_scanner/finders/finder.rb', line 15 def @progress_bar end |
#target ⇒ Object
Returns the value of attribute target.
15 16 17 |
# File 'lib/cms_scanner/finders/finder.rb', line 15 def target @target end |
Instance Method Details
#aggressive(_opts = {}) ⇒ Object
30 |
# File 'lib/cms_scanner/finders/finder.rb', line 30 def aggressive(_opts = {}); end |
#browser ⇒ Browser
44 45 46 |
# File 'lib/cms_scanner/finders/finder.rb', line 44 def browser @browser ||= NS::Browser.instance end |
#create_progress_bar(opts = {}) ⇒ ProgressBar::Base
36 37 38 39 40 41 |
# File 'lib/cms_scanner/finders/finder.rb', line 36 def (opts = {}) = { format: '%t %a <%B> (%c / %C) %P%% %e' } [:output] = ProgressBarNullOutput unless opts[:show_progression] @progress_bar = ::ProgressBar.create(.merge(opts)) end |
#found_by(klass = self) ⇒ String
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/cms_scanner/finders/finder.rb', line 55 def found_by(klass = self) caller_locations.each do |call| label = call.label next unless %w[aggressive passive].include? label return "#{klass.titleize} (#{label.capitalize} Detection)" end nil end |
#hydra ⇒ Typhoeus::Hydra
49 50 51 |
# File 'lib/cms_scanner/finders/finder.rb', line 49 def hydra @hydra ||= browser.hydra end |
#passive(_opts = {}) ⇒ Object
27 |
# File 'lib/cms_scanner/finders/finder.rb', line 27 def passive(_opts = {}); end |
#titleize ⇒ String
Returns The titleized name of the finder.
22 23 24 |
# File 'lib/cms_scanner/finders/finder.rb', line 22 def titleize self.class.to_s.demodulize.underscore.titleize end |