Class: Watobo::Modules::Active::Sap::Its_services
- Inherits:
-
ActiveCheck
- Object
- Session
- ActiveCheck
- Watobo::Modules::Active::Sap::Its_services
- Defined in:
- modules/active/sap/its_services.rb
Constant Summary
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 Attribute Summary
Attributes inherited from ActiveCheck
Instance Method Summary collapse
- #generateChecks(chat) ⇒ Object
-
#initialize(project, prefs = {}) ⇒ Its_services
constructor
A new instance of Its_services.
Methods inherited from ActiveCheck
#addFinding, #cancel, #checksRunning?, #continue, #disable, #do_test, #enable, #enabled=, #enabled?, #fileExists?, #getCheckCount, #log_console, #maxChecks, #maxChecks=, #postParmNames, #reset, #resetCounters, #run_checks, #stop, #updateCounters, #urlParmNames, #waitLogin
Methods inherited from Session
#addProxy, #clearEvents, #doRequest, #getProxy, #get_settings, #notify, #readHTTPBody, #runLogin, #sendHTTPRequest, #sessionSettings, #setSIDCache, #sidCache, #subscribe
Constructor Details
#initialize(project, prefs = {}) ⇒ Its_services
Returns a new instance of Its_services.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'modules/active/sap/its_services.rb', line 33 def initialize(project, prefs={}) super(project, prefs) @info.update( :check_name => 'SAP ITS: Default Services', # name of check which briefly describes functionality, will be used for tree and progress views :description => "Checks SAP ITS System for enabled default services.", # description of checkfunction :author => "Andreas Schmidt", # author of check :version => "0.9", # check version :check_group => AC_GROUP_SAP ) @finding.update( :threat => 'Information Disclosure (and maybe more)', # thread of vulnerability, e.g. loss of information :class => "SAP ITS: Default Services", # vulnerability class, e.g. Stored XSS, SQL-Injection, ... :type => FINDING_TYPE_HINT # FINDING_TYPE_HINT, FINDING_TYPE_INFO, FINDING_TYPE_VULN ) @its_services = [ "admin", "webgui", "systeminfo", ] end |
Instance Method Details
#generateChecks(chat) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'modules/active/sap/its_services.rb', line 59 def generateChecks(chat) begin if chat.request.url =~ /\/wgate\/(\w*\/!?)/ then service_name = $1 @its_services.each do |service| checker = proc{ test_request = nil test_response = nil c_service = "#{service.dup}" c_srv_name = "#{service_name}" test = chat.copyRequest test.first.gsub!(c_srv_name, "#{c_service}/!") test_request,test_response = doRequest(test, :default => true) if test_response.status =~ /200/i then #test_chat = Chat.new(test,test_response,chat.id) addFinding( test_request,test_response, :test_item => chat.request.url, :check_pattern => "#{c_service}", :proof_pattern => "#{test_response.status}", :chat => chat, :title => c_service ) end [ test_request, test_response ] } yield checker end end rescue => bang puts bang puts "ERROR!! #{Module.nesting[0].name}" end end |