Class: Watobo::Modules::Active::Directories::Dirwalker

Inherits:
ActiveCheck
  • Object
show all
Defined in:
modules/active/directories/dirwalker.rb

Overview

class Dir_indexing < Watobo::Mixin::Session

Constant Summary collapse

@@tested_directories =
Hash.new

Constants included from Constants

Constants::AC_GROUP_APACHE, Constants::AC_GROUP_DOMINO, Constants::AC_GROUP_ENUMERATION, Constants::AC_GROUP_FILE_INCLUSION, Constants::AC_GROUP_FLASH, Constants::AC_GROUP_GENERIC, Constants::AC_GROUP_JBOSS, Constants::AC_GROUP_JOOMLA, Constants::AC_GROUP_SAP, Constants::AC_GROUP_SQL, Constants::AC_GROUP_TYPO3, Constants::AC_GROUP_XSS, Constants::AUTH_TYPE_BASIC, Constants::AUTH_TYPE_DIGEST, Constants::AUTH_TYPE_NONE, Constants::AUTH_TYPE_NTLM, Constants::CHAT_SOURCE_AUTO_SCAN, Constants::CHAT_SOURCE_FUZZER, Constants::CHAT_SOURCE_INTERCEPT, Constants::CHAT_SOURCE_MANUAL, Constants::CHAT_SOURCE_MANUAL_SCAN, Constants::CHAT_SOURCE_PROXY, Constants::CHAT_SOURCE_UNDEF, Constants::DEFAULT_PORT_HTTP, Constants::DEFAULT_PORT_HTTPS, Constants::FINDING_TYPE_HINT, Constants::FINDING_TYPE_INFO, Constants::FINDING_TYPE_UNDEFINED, Constants::FINDING_TYPE_VULN, Constants::FIRST_TIME_FILE, Constants::GUI_REGULAR_FONT_SIZE, Constants::GUI_SMALL_FONT_SIZE, Constants::ICON_PATH, Constants::LOG_DEBUG, Constants::LOG_INFO, Constants::SCAN_CANCELED, Constants::SCAN_FINISHED, Constants::SCAN_PAUSED, Constants::SCAN_STARTED, Constants::TE_CHUNKED, Constants::TE_COMPRESS, Constants::TE_DEFLATE, Constants::TE_GZIP, Constants::TE_IDENTITY, Constants::TE_NONE, Constants::VULN_RATING_CRITICAL, Constants::VULN_RATING_HIGH, Constants::VULN_RATING_INFO, Constants::VULN_RATING_LOW, Constants::VULN_RATING_MEDIUM, Constants::VULN_RATING_UNDEFINED

Instance Method Summary collapse

Methods included from CheckInfoMixin::InfoMethods

#check_group, #check_name

Constructor Details

#initialize(project, prefs = {}) ⇒ Dirwalker

Returns a new instance of Dirwalker.



39
40
41
42
43
44
45
# File 'modules/active/directories/dirwalker.rb', line 39

def initialize(project, prefs={})
  super(project, prefs)
  
 
  
  
end

Instance Method Details

#generateChecks(chat) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'modules/active/directories/dirwalker.rb', line 51

def generateChecks(chat)
  
  begin
    path = chat.request.dir
    if !@@tested_directories.has_key?(path) then
      @@tested_directories[path] = true
      checker = proc {
        begin
            test_request = nil
            test_response = nil
            test = chat.copyRequest
            test.strip_path()
            test_request, test_response = doRequest(test, :default => true)
        rescue => bang
          puts bang
          puts bang.backtrace if $DEBUG
        end
        [ test_request, test_response ]
        
      }
      yield checker
    end
  rescue => bang
    puts "!error in module #{Module.nesting[0].name}"
    puts bang
  end
end

#resetObject



47
48
49
# File 'modules/active/directories/dirwalker.rb', line 47

def reset()
  @@tested_directories.clear
end