arachni 0.2.4 → 0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +33 -0
- data/README.md +2 -4
- data/Rakefile +15 -4
- data/bin/arachni +0 -0
- data/bin/arachni_web +0 -0
- data/bin/arachni_web_autostart +0 -0
- data/bin/arachni_xmlrpc +0 -0
- data/bin/arachni_xmlrpcd +0 -0
- data/bin/arachni_xmlrpcd_monitor +0 -0
- data/lib/arachni.rb +1 -1
- data/lib/framework.rb +36 -6
- data/lib/http.rb +12 -5
- data/lib/module/auditor.rb +482 -59
- data/lib/module/base.rb +17 -0
- data/lib/module/manager.rb +26 -2
- data/lib/module/trainer.rb +1 -12
- data/lib/module/utilities.rb +12 -0
- data/lib/parser/auditable.rb +8 -3
- data/lib/parser/elements.rb +11 -0
- data/lib/parser/page.rb +3 -1
- data/lib/parser/parser.rb +130 -18
- data/lib/rpc/xml/server/dispatcher.rb +21 -0
- data/lib/spider.rb +141 -82
- data/lib/ui/cli/cli.rb +2 -3
- data/lib/ui/web/addon_manager.rb +273 -0
- data/lib/ui/web/addons/autodeploy.rb +172 -0
- data/lib/ui/web/addons/autodeploy/lib/manager.rb +291 -0
- data/lib/ui/web/addons/autodeploy/views/index.erb +124 -0
- data/lib/ui/web/addons/sample.rb +78 -0
- data/lib/ui/web/addons/sample/views/index.erb +4 -0
- data/lib/ui/web/addons/scheduler.rb +139 -0
- data/lib/ui/web/addons/scheduler/views/index.erb +131 -0
- data/lib/ui/web/addons/scheduler/views/options.erb +93 -0
- data/lib/ui/web/dispatcher_manager.rb +80 -13
- data/lib/ui/web/instance_manager.rb +87 -0
- data/lib/ui/web/scheduler.rb +166 -0
- data/lib/ui/web/server.rb +142 -202
- data/lib/ui/web/server/public/js/jquery-ui-timepicker.js +985 -0
- data/lib/ui/web/server/public/plugins/sample/style.css +0 -0
- data/lib/ui/web/server/public/style.css +42 -0
- data/lib/ui/web/server/views/addon.erb +15 -0
- data/lib/ui/web/server/views/addons.erb +46 -0
- data/lib/ui/web/server/views/dispatchers.erb +1 -1
- data/lib/ui/web/server/views/instance.erb +9 -11
- data/lib/ui/web/server/views/layout.erb +14 -1
- data/lib/ui/web/server/views/welcome.erb +7 -6
- data/lib/ui/web/utilities.rb +134 -0
- data/modules/audit/code_injection_timing.rb +6 -2
- data/modules/audit/code_injection_timing/payloads.txt +2 -2
- data/modules/audit/os_cmd_injection_timing.rb +7 -3
- data/modules/audit/os_cmd_injection_timing/payloads.txt +1 -1
- data/modules/audit/sqli_blind_rdiff.rb +18 -233
- data/modules/audit/sqli_blind_rdiff/payloads.txt +5 -0
- data/modules/audit/sqli_blind_timing.rb +9 -2
- data/path_extractors/anchors.rb +1 -1
- data/path_extractors/forms.rb +1 -1
- data/path_extractors/frames.rb +1 -1
- data/path_extractors/generic.rb +1 -1
- data/path_extractors/links.rb +1 -1
- data/path_extractors/meta_refresh.rb +1 -1
- data/path_extractors/scripts.rb +1 -1
- data/path_extractors/sitemap.rb +1 -1
- data/plugins/proxy/server.rb +3 -2
- data/plugins/waf_detector.rb +0 -3
- metadata +37 -34
- data/lib/anemone/cookie_store.rb +0 -35
- data/lib/anemone/core.rb +0 -371
- data/lib/anemone/exceptions.rb +0 -5
- data/lib/anemone/http.rb +0 -144
- data/lib/anemone/page.rb +0 -338
- data/lib/anemone/page_store.rb +0 -160
- data/lib/anemone/storage.rb +0 -34
- data/lib/anemone/storage/base.rb +0 -75
- data/lib/anemone/storage/exceptions.rb +0 -15
- data/lib/anemone/storage/mongodb.rb +0 -89
- data/lib/anemone/storage/pstore.rb +0 -50
- data/lib/anemone/storage/redis.rb +0 -90
- data/lib/anemone/storage/tokyo_cabinet.rb +0 -57
- data/lib/anemone/tentacle.rb +0 -40
@@ -1,57 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
require 'tokyocabinet'
|
3
|
-
rescue LoadError
|
4
|
-
puts "You need the tokyocabinet gem to use Anemone::Storage::TokyoCabinet"
|
5
|
-
exit
|
6
|
-
end
|
7
|
-
|
8
|
-
require 'forwardable'
|
9
|
-
|
10
|
-
module Anemone
|
11
|
-
module Storage
|
12
|
-
class TokyoCabinet
|
13
|
-
extend Forwardable
|
14
|
-
|
15
|
-
def_delegators :@db, :close, :size, :keys, :has_key?
|
16
|
-
|
17
|
-
def initialize(file)
|
18
|
-
raise "TokyoCabinet filename must have .tch extension" if File.extname(file) != '.tch'
|
19
|
-
@db = ::TokyoCabinet::HDB::new
|
20
|
-
@db.open(file, ::TokyoCabinet::HDB::OWRITER | ::TokyoCabinet::HDB::OCREAT)
|
21
|
-
@db.clear
|
22
|
-
end
|
23
|
-
|
24
|
-
def [](key)
|
25
|
-
if value = @db[key]
|
26
|
-
load_value(value)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def []=(key, value)
|
31
|
-
@db[key] = [Marshal.dump(value)].pack("m")
|
32
|
-
end
|
33
|
-
|
34
|
-
def delete(key)
|
35
|
-
value = self[key]
|
36
|
-
@db.delete(key)
|
37
|
-
value
|
38
|
-
end
|
39
|
-
|
40
|
-
def each
|
41
|
-
@db.each { |k, v| yield k, load_value(v) }
|
42
|
-
end
|
43
|
-
|
44
|
-
def merge!(hash)
|
45
|
-
hash.each { |key, value| self[key] = value }
|
46
|
-
self
|
47
|
-
end
|
48
|
-
|
49
|
-
private
|
50
|
-
|
51
|
-
def load_value(value)
|
52
|
-
Marshal.load(value.unpack("m")[0])
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
data/lib/anemone/tentacle.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
|
2
|
-
require Arachni::Options.instance.dir['lib'] + 'anemone/http'
|
3
|
-
|
4
|
-
module Anemone
|
5
|
-
class Tentacle
|
6
|
-
|
7
|
-
#
|
8
|
-
# Create a new Tentacle
|
9
|
-
#
|
10
|
-
def initialize(link_queue, page_queue, opts = {})
|
11
|
-
@link_queue = link_queue
|
12
|
-
@page_queue = page_queue
|
13
|
-
@http = Anemone::HTTP.new(opts)
|
14
|
-
@opts = opts
|
15
|
-
end
|
16
|
-
|
17
|
-
#
|
18
|
-
# Gets links from @link_queue, and returns the fetched
|
19
|
-
# Page objects into @page_queue
|
20
|
-
#
|
21
|
-
def run
|
22
|
-
loop do
|
23
|
-
link, referer, depth = @link_queue.deq
|
24
|
-
|
25
|
-
break if link == :END
|
26
|
-
|
27
|
-
@http.fetch_pages(link, referer, depth).each { |page| @page_queue << page }
|
28
|
-
|
29
|
-
delay
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
def delay
|
36
|
-
sleep @opts[:delay] if @opts[:delay] > 0
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
end
|