Class: Watobo::Modules::Active::Siebel::Siebel_apps
- Inherits:
-
ActiveCheck
- Object
- Session
- ActiveCheck
- Watobo::Modules::Active::Siebel::Siebel_apps
- Defined in:
- modules/active/siebel/siebel_apps.rb
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
- #generateChecks(chat) ⇒ Object
-
#initialize(project, prefs = {}) ⇒ Siebel_apps
constructor
A new instance of Siebel_apps.
- #reset ⇒ Object
Methods included from CheckInfoMixin::InfoMethods
Constructor Details
#initialize(project, prefs = {}) ⇒ Siebel_apps
Returns a new instance of Siebel_apps.
46 47 48 49 50 51 52 53 54 |
# File 'modules/active/siebel/siebel_apps.rb', line 46 def initialize(project, prefs={}) super(project, prefs) @apps = %w( callcenter cgce cra eCommunicationsWireless eEnergyOilGasChemicals eaf eai eai_anon eauctionswexml eautomotive echannelaf echannelcg echannelcme eclinical ecommunications econsumer econsumerpharma econsumersector ecustomer ecustomercme edealer edealerscw eenergy eevents ehospitality eloyalty emarketing emedia emedical ememb epharma epharmace eprofessionalpharma epublicsector eretail erm ermadmin esales esalescme eservice esitesclinical etraining finesales fins finsconsole finscustomer finsebanking finsebrokerage finsechannel finseenenrollment finssalespam htim htimpim loyalty loyaltyscw marketing medicalce pimportal pmmanager prmmanager prmportal pseservice sales salesce service servicece siasalesce siaservicece sismarketing smc wpeserv wppm wpsales wpserv ) @langs = %w( cat chs cht csy dan deu ell enu esn euq fin fra frc heb hun ita jpn kor nld nor plk pse psl ptb ptg rus shl sky slv sve tha trk ) end |
Instance Method Details
#generateChecks(chat) ⇒ Object
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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'modules/active/siebel/siebel_apps.rb', line 62 def generateChecks(chat) begin path = chat.request.dir # puts "!!!!#{self}: #{path}" unless @@tested_directories.has_key?(path) @@tested_directories[path] = true @apps.each do |app| @langs.each do |lang| checker = proc{ begin app_dir = "#{app}_#{lang}" #puts app_dir test_request = nil test_response = nil test = chat.copyRequest test.appendDir app_dir status, test_request, test_response = fileExists?(test, :default => true) if status == true # test_chat = Chat.new(test,test_response, :id => chat.id) addFinding( test_request,test_response, :test_item => chat.request.url.to_s, :check_pattern => "#{app_dir}", :proof_pattern => "#{test_response.status}", :chat => chat, :title => "#{app_dir}" ) # check for _stats.swe stats_test = chat.copyRequest stats_test.replaceFileExt("_stats.swe") status, stats_request, stats_response = fileExists?( stats_test, :default => true) if status == true and stats_response.has_body? addFinding( stats_request,stats_response, :test_item => stats_request.url.to_s, :check_pattern => "#{app_dir}", :proof_pattern => "#{stats_response.status}", :chat => chat, :title => "#{app_dir}", :check_name => "Siebel Stats Page", :class => "Siebel: Stats Page" ) end # check for base.txt base_test = chat.copyRequest base_test.appendDir app_dir base_test.replaceFileExt("base.txt") # puts base_test.url status, base_request, base_response = fileExists?(base_test, :default => true) if status == true and base_response.has_body? version = nil if base_response.body.strip =~ /^([0-9.]*) / version = $1 end addFinding( base_request,base_response, :test_item => base_request.url.to_s, :check_pattern => "base.txt", :proof_pattern => "#{base_response.status}", :chat => chat, :title => "#{app_dir}", :check_name => "Siebel Version #{version}", :class => "Siebel: Version #{version}" ) end # check for About_Siebel.htm and siebindex.htm %w( About_Siebel.htm help/siebindex.htm siebindex.htm ).each do |df| default_test = chat.copyRequest default_test.appendDir app_dir default_test.replaceFileExt(df) status, default_request, default_response = fileExists?(default_test, :default => true) if status == true addFinding( default_request,default_response, :test_item => "#{default_request.url.to_s}", :check_pattern => "#{df}", :proof_pattern => "#{default_response.status}", :chat => chat, :title => "#{df}", #:check_name => "Siebel Version #{version}", :class => "Siebel: Default Files" ) end end end rescue => bang puts bang puts bang.backtrace end [ test_request, test_response ] } yield checker end end end rescue => bang puts bang puts "ERROR!! #{Module.nesting[0].name}" raise end end |
#reset ⇒ Object
56 57 58 59 |
# File 'modules/active/siebel/siebel_apps.rb', line 56 def reset() @@tested_directories.clear end |