Class: OwaspZap::Spider

Inherits:
Object
  • Object
show all
Defined in:
lib/owasp_zap/spider.rb

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Spider

Returns a new instance of Spider.



4
5
6
7
8
9
# File 'lib/owasp_zap/spider.rb', line 4

def initialize(params = {})
    #TODO
    #handle it
    @base = params[:base]
    @target = params[:target]
end

Instance Method Details

#depthObject



38
39
40
# File 'lib/owasp_zap/spider.rb', line 38

def depth
     JSON.parse(RestClient::get("#{@base}/JSON/spider/view/optionMaxDepth/?zapapiformat=JSON"))
end

#running?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/owasp_zap/spider.rb', line 42

def running?
     self.status != 100
end

#set_depth(max_d) ⇒ Object



31
32
33
34
35
36
# File 'lib/owasp_zap/spider.rb', line 31

def set_depth(max_d)
     #http://localhost:8084/JSON/spider/action/setOptionMaxDepth/?Integer=1
     url = Addressable::URI.parse("#{@base}/JSON/spider/action/setOptionMaxDepth/")
     url.query_values = {:integer=>max_d.to_i}
     RestClient::get url.normalize.to_str
end

#startObject



11
12
13
14
15
16
# File 'lib/owasp_zap/spider.rb', line 11

def start
    #http://localhost:8080/JSON/spider/action/scan/?zapapiformat=JSON&url=
    url = Addressable::URI.parse "#{@base}/JSON/spider/action/scan/"
    url.query_values = {:zapapiformat=>"JSON",:url=>@target}
    RestClient::get url.normalize.to_str
end

#statusObject



22
23
24
25
26
27
28
29
# File 'lib/owasp_zap/spider.rb', line 22

def status
     ret = JSON.parse(RestClient::get("#{@base}/JSON/spider/view/status/?zapapiformat=JSON"))
     if ret.has_key? "status"
         ret["status"].to_i
     else
         100 # it means not running
     end
end

#stopObject



18
19
20
# File 'lib/owasp_zap/spider.rb', line 18

def stop
    RestClient::get "#{@base}/JSON/spider/action/stop/?zapapiformat=JSON"
end