Method: BScan#evt_http_message

Defined in:
lib/bscan.rb

#evt_http_message(tool_name, is_request, message_info) ⇒ Object



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
# File 'lib/bscan.rb', line 133

def evt_http_message(tool_name, is_request, message_info)
#    super(tool_name, is_request, message_info)
  begin
    Log 3, "BScan.evt_http_message #{tool_name} #{Java.burp.IBurpExtenderCallbacks.TOOL_SPIDER} #{is_request} #{message_info.to_s}"
    if tool_name == Java.burp.IBurpExtenderCallbacks.TOOL_SCANNER or tool_name == 'scanner'
      if is_request
        Log 2, "#"*70, "# BScan.evt_http_message REQUEST: #{message_info.url.toString}, tool: #{tool_name}", "#"*70
        Log 3, "BScan.evt_http_message #{message_info.getRequest()}", ""
      else
        Log 2, "# BScan.evt_http_message RESPONSE CODE: #{message_info.statusCode}", ""
        Log 3, "BScan.evt_http_message #{message_info.getResponse()}", ""
      end
    end
    if tool_name == Java.burp.IBurpExtenderCallbacks.TOOL_SPIDER or tool_name == 'spider'\
            or tool_name == Java.burp.IBurpExtenderCallbacks.TOOL_PROXY or tool_name == 'proxy'
     if not is_request
        @activity[0] = true
        https = message_info.getProtocol() == "https" ? true : false
        Log 2, "BScan.evt_http_message Passively scanning: #{message_info.url.to_string}"
        do_passive_scan(message_info.getHost(), message_info.getPort(), https, message_info.getRequest(),  message_info.getResponse())
        if (is_in_scope(message_info.url) and not excluded? message_info.url)
          Log 2, "BScan.evt_http_message Actively scanning: #{message_info.url.to_string}"
#          isqi = do_active_scan(message_info.getHost(), message_info.getPort(), https, message_info.getRequest(), [])
          isqi = do_active_scan(message_info.getHost(), message_info.getPort(), https, message_info.getRequest())
          @queue.push(isqi)
          run_modules self, message_info
        end
     end
    end
   rescue Exception => e
    Log 0, "BScan.evt_http_message Exception: #{e.message}"
    Log 0, e.backtrace.join("\n")
   end  
end