Class: Arachni::BrowserCluster::Jobs::TaintTrace
- Inherits:
 - 
      DOMExploration
      
        
- Object
 - Arachni::BrowserCluster::Job
 - DOMExploration
 - Arachni::BrowserCluster::Jobs::TaintTrace
 
 
- Defined in:
 - lib/arachni/browser_cluster/jobs/taint_trace.rb,
lib/arachni/browser_cluster/jobs/taint_trace/result.rb,
lib/arachni/browser_cluster/jobs/taint_trace/event_trigger.rb,
lib/arachni/browser_cluster/jobs/taint_trace/event_trigger/result.rb 
Overview
Traces a #taint throughout the JS environment of the given DOMExploration#resource. It also allows custom JS code to be executed under the same scope in order to directly introduce the #taint.
It will pass each evaluated page with the result.
Defined Under Namespace
Classes: EventTrigger, Result
Instance Attribute Summary collapse
- 
  
    
      #injector  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
JS code to execute in order to introduce the taint.
 - 
  
    
      #taint  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
Taint to trace throughout the data-flow of the JS environment.
 
Attributes inherited from DOMExploration
Attributes inherited from Arachni::BrowserCluster::Job
#args, #browser, #forwarder, #time
Instance Method Summary collapse
- #run ⇒ Object
 - #to_s ⇒ Object (also: #inspect)
 
Methods inherited from DOMExploration
#clean_copy, #dup, #initialize
Methods inherited from Arachni::BrowserCluster::Job
#==, #clean_copy, #configure_and_run, #dup, #forward, #forward_as, #hash, #id, #initialize, #never_ending=, #never_ending?, #save_result, #timed_out!, #timed_out?
Constructor Details
This class inherits a constructor from Arachni::BrowserCluster::Jobs::DOMExploration
Instance Attribute Details
#injector ⇒ String
Returns JS code to execute in order to introduce the taint.
      33 34 35  | 
    
      # File 'lib/arachni/browser_cluster/jobs/taint_trace.rb', line 33 def injector @injector end  | 
  
#taint ⇒ String
Returns Taint to trace throughout the data-flow of the JS environment.
      29 30 31  | 
    
      # File 'lib/arachni/browser_cluster/jobs/taint_trace.rb', line 29 def taint @taint end  | 
  
Instance Method Details
#run ⇒ Object
      35 36 37 38 39 40 41 42  | 
    
      # File 'lib/arachni/browser_cluster/jobs/taint_trace.rb', line 35 def run browser.javascript.taint = self.taint browser.javascript.custom_code = self.injector browser.on_new_page_with_sink { |page| save_result( page: page ) } super end  | 
  
#to_s ⇒ Object Also known as: inspect
      44 45 46 47 48  | 
    
      # File 'lib/arachni/browser_cluster/jobs/taint_trace.rb', line 44 def to_s "#<#{self.class}:#{object_id} @resource=#{@resource} " << "@taint=#{@taint.inspect} @injector=#{@injector.inspect} " << "time=#{@time} timed_out=#{timed_out?}>" end  |