class Arachni::BrowserCluster::Jobs::TaintTrace

Traces a {#taint} throughout the JS environment of the given {#resource}. It also allows {#injector 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 {TaintTrace::Result result}.

@author Tasos “Zapotek” Laskos <tasos.laskos@arachni-scanner.com>

Attributes

injector[RW]

@return [String]

JS code to execute in order to introduce the taint.
taint[RW]

@return [String]

Taint to trace throughout the data-flow of the JS environment.

Public Instance Methods

inspect()
Alias for: to_s
run() click to toggle source
# 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() click to toggle source
# 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
Also aliased as: inspect