arachni 0.4.0.2 → 0.4.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # ChangeLog
2
2
 
3
+ ## Version 0.4.0.3 _(Monday 12, 2012)_
4
+ - Gemspec -- Updated ```do_sqlite3``` dependency. [#166] ([kost](https://github.com/kost))
5
+
3
6
  ## Version 0.4.0.1 _(January 9, 2012)_
4
7
  - Reports
5
8
  - XML -- added missing Issue attributes
@@ -0,0 +1,155 @@
1
+ /**
2
+ * jQuery Easy Confirm Dialog plugin 1.2
3
+ *
4
+ * Copyright (c) 2010 Emil Janitzek (http://projectshadowlight.org)
5
+ * Based on Confirm 1.3 by Nadia Alramli (http://nadiana.com/)
6
+ *
7
+ * Samples and instructions at:
8
+ * http://projectshadowlight.org/jquery-easy-confirm-dialog/
9
+ *
10
+ * This script is free software: you can redistribute it and/or modify it
11
+ * under the terms of the GNU General Public License as published by the Free
12
+ * Software Foundation, either version 3 of the License, or (at your option)
13
+ * any later version.
14
+ */
15
+ (function($) {
16
+ $.easyconfirm = {};
17
+ $.easyconfirm.locales = {};
18
+ $.easyconfirm.locales.enUS = {
19
+ title: 'Are you sure?',
20
+ text: 'Are you sure that you want to perform this action?',
21
+ button: ['Cancel', 'Confirm'],
22
+ closeText: 'close'
23
+ };
24
+ $.easyconfirm.locales.svSE = {
25
+ title: 'Är du säker?',
26
+ text: 'Är du säker på att du vill genomföra denna åtgärden?',
27
+ button: ['Avbryt', 'Bekräfta'],
28
+ closeText: 'stäng'
29
+ };
30
+
31
+ $.fn.easyconfirm = function(options) {
32
+
33
+ var _attr = $.fn.attr;
34
+
35
+ $.fn.attr = function(attr, value) {
36
+ // Let the original attr() do its work.
37
+ var returned = _attr.apply(this, arguments);
38
+
39
+ // Fix for jQuery 1.6+
40
+ if (attr == 'title' && returned === undefined)
41
+ returned = '';
42
+
43
+ return returned;
44
+ };
45
+
46
+ var options = jQuery.extend({
47
+ eventType: 'click',
48
+ icon: 'help'
49
+ }, options);
50
+
51
+ var locale = jQuery.extend({}, $.easyconfirm.locales.enUS, options.locale);
52
+
53
+ // Shortcut to eventType.
54
+ var type = options.eventType;
55
+
56
+ return this.each(function() {
57
+ var target = this;
58
+ var $target = jQuery(target);
59
+
60
+ // If no events present then and if there is a valid url, then trigger url change
61
+ var urlClick = function() {
62
+ if (target.href) {
63
+ var length = String(target.href).length;
64
+ if (target.href.substring(length - 1, length) != '#')
65
+ document.location = target.href;
66
+ }
67
+ };
68
+
69
+ // If any handlers where bind before triggering, lets save them and add them later
70
+ var saveHandlers = function() {
71
+ var events = jQuery.data(target, 'events');
72
+ if (events) {
73
+ target._handlers = new Array();
74
+ for (var i in events[type]) {
75
+ target._handlers.push(events[type][i]);
76
+ }
77
+
78
+ $target.unbind(type);
79
+ }
80
+ };
81
+ // Re-bind old events
82
+ var rebindHandlers = function() {
83
+ if (target._handlers !== undefined) {
84
+ jQuery.each(target._handlers, function() {
85
+ $target.bind(type, this);
86
+ });
87
+ }
88
+ };
89
+
90
+ if ($target.attr('title') !== null && $target.attr('title').length > 0)
91
+ locale.text = $target.attr('title');
92
+
93
+ var dialog = (options.dialog === undefined || typeof(options.dialog) != 'object') ?
94
+ $('<div class="dialog confirm">' + locale.text + '</div>') :
95
+ options.dialog;
96
+
97
+ var buttons = {};
98
+ buttons[locale.button[1]] = function() {
99
+ // Unbind overriding handler and let default actions pass through
100
+ $target.unbind(type, handler);
101
+
102
+ // Close dialog
103
+ $(dialog).dialog("close");
104
+
105
+ // Check if there is any events on the target
106
+ if (jQuery.data(target, 'events')) {
107
+ // Trigger click event.
108
+ $target.click();
109
+ }
110
+ else {
111
+ // No event trigger new url
112
+ urlClick();
113
+ }
114
+
115
+ init();
116
+
117
+ };
118
+ buttons[locale.button[0]] = function() {
119
+ $(dialog).dialog("close");
120
+ };
121
+
122
+ $(dialog).dialog({
123
+ autoOpen: false,
124
+ resizable: false,
125
+ draggable: true,
126
+ closeOnEscape: true,
127
+ width: 'auto',
128
+ minHeight: 120,
129
+ maxHeight: 200,
130
+ buttons: buttons,
131
+ title: locale.title,
132
+ closeText: locale.closeText,
133
+ modal: true
134
+ });
135
+
136
+ // Handler that will override all other actions
137
+ var handler = function(event) {
138
+ $(dialog).dialog('open');
139
+ event.stopImmediatePropagation();
140
+ event.preventDefault();
141
+ return false;
142
+ };
143
+
144
+ var init = function() {
145
+ saveHandlers();
146
+ $target.bind(type, handler);
147
+ rebindHandlers();
148
+ };
149
+
150
+ init();
151
+
152
+ });
153
+
154
+ };
155
+ })(jQuery);
@@ -46,7 +46,7 @@
46
46
  <% i += 1 %>
47
47
 
48
48
  <%if !dispatcher_stats['running_jobs'].empty? %>
49
- <form style='display: inline' onsubmit="return confirm( 'Are you sure that you want to kill all running instances?' )" action="/dispatchers/<%=remove_proto( d_url.dup )%>/shutdown_all" method="post">
49
+ <form style='display: inline' class="confirm" action="/dispatchers/<%=remove_proto( d_url.dup )%>/shutdown_all" method="post">
50
50
  <%= csrf_tag %>
51
51
  <input type="submit" value="Shutdown all" />
52
52
  </form>
@@ -108,7 +108,7 @@
108
108
  </form>
109
109
  <% end %>
110
110
 
111
- <form style="display: inline" action="/dispatchers/<%=job['url']%>/shutdown" method="post">
111
+ <form style="display: inline" class="confirm" action="/dispatchers/<%=job['url']%>/shutdown" method="post">
112
112
  <%= csrf_tag %>
113
113
  <input type="submit" value="Shutdown" />
114
114
  </form>
@@ -50,7 +50,7 @@
50
50
  <td><%=dispatcher['url']%></td>
51
51
  <td><%=dispatcher['alive'].to_s.capitalize%></td>
52
52
  <td>
53
- <form action="/dispatchers/<%=dispatcher['id']%>/delete" method="post">
53
+ <form class="confirm" action="/dispatchers/<%=dispatcher['id']%>/delete" method="post">
54
54
  <%= csrf_tag %>
55
55
  <input type="submit" value="Delete" />
56
56
  </form>
@@ -24,7 +24,7 @@
24
24
  </form>
25
25
  <%end%>
26
26
 
27
- <form action="/instance/<%=remove_proto( params['url'] )%>/shutdown" method="post">
27
+ <form class="confirm" action="/instance/<%=remove_proto( params['url'] )%>/shutdown" method="post">
28
28
  <%= csrf_tag %>
29
29
  <input type="submit" value="Shutdown" />
30
30
  </form>
@@ -10,6 +10,7 @@
10
10
  <script type="text/javascript" src="/js/jquery-1.4.4.min.js"></script>
11
11
  <script type="text/javascript" src="/js/jquery-ui-1.8.9.custom.min.js"></script>
12
12
  <script type="text/javascript" src="/js/jquery-ui-timepicker.js"></script>
13
+ <script type="text/javascript" src="/js/jquery.easy-confirm-dialog.js"></script>
13
14
 
14
15
  <script type="text/javascript">
15
16
  function checkAll( type ) {
@@ -19,6 +20,13 @@
19
20
  function uncheckAll( type ) {
20
21
  $( "." + type ).attr( "checked", false )
21
22
  }
23
+
24
+ $(document).ready(function() {
25
+ $('.confirm').easyconfirm();
26
+ $('.confirm').click(function() {
27
+ $('.confirm').submit();
28
+ });
29
+ });
22
30
  </script>
23
31
 
24
32
  </head>
@@ -10,7 +10,7 @@
10
10
  <input type="submit" value="View formats" />
11
11
  </form>
12
12
 
13
- <form action="/reports/delete" method="post">
13
+ <form class="confirm" action="/reports/delete" method="post">
14
14
  <%= csrf_tag %>
15
15
  <input type="submit" value="Delete all" />
16
16
  </form>
@@ -46,7 +46,7 @@
46
46
  </td>
47
47
 
48
48
  <td>
49
- <form action="/report/<%=report.id%>/delete" method="post">
49
+ <form class="confirm" action="/report/<%=report.id%>/delete" method="post">
50
50
  <%= csrf_tag %>
51
51
  <input type="submit" value="Delete" />
52
52
  </form>
@@ -11,6 +11,6 @@
11
11
  module Arachni
12
12
 
13
13
  # the universal system version
14
- VERSION = '0.4.0.2'
14
+ VERSION = '0.4.0.3'
15
15
 
16
16
  end
data/plugins/proxy.rb CHANGED
@@ -85,7 +85,7 @@ class Proxy < Arachni::Plugin::Base
85
85
  end
86
86
 
87
87
  headers = {}
88
- headers.merge( res.header.dup ) if res.header
88
+ headers.merge!( res.header.dup ) if res.header
89
89
  headers['set-cookie'] = res.cookies if !res.cookies.empty?
90
90
 
91
91
  # proper initialization in order to parse the response into a page
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arachni
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.2
4
+ version: 0.4.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-09 00:00:00.000000000 Z
12
+ date: 2012-03-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: typhoeus
16
- requirement: &20539480 !ruby/object:Gem::Requirement
16
+ requirement: &7247160 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.3.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *20539480
24
+ version_requirements: *7247160
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: awesome_print
27
- requirement: &20538360 !ruby/object:Gem::Requirement
27
+ requirement: &7246400 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *20538360
35
+ version_requirements: *7246400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &20537160 !ruby/object:Gem::Requirement
38
+ requirement: &7245480 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *20537160
46
+ version_requirements: *7245480
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: nokogiri
49
- requirement: &20536380 !ruby/object:Gem::Requirement
49
+ requirement: &7244560 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.5.0
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *20536380
57
+ version_requirements: *7244560
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sys-proctable
60
- requirement: &20535660 !ruby/object:Gem::Requirement
60
+ requirement: &7243580 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.9.1
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *20535660
68
+ version_requirements: *7243580
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: terminal-table
71
- requirement: &20535160 !ruby/object:Gem::Requirement
71
+ requirement: &7235040 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.4.2
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *20535160
79
+ version_requirements: *7235040
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: sinatra
82
- requirement: &20534600 !ruby/object:Gem::Requirement
82
+ requirement: &7234460 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.3.1
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *20534600
90
+ version_requirements: *7234460
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: sinatra-flash
93
- requirement: &20533740 !ruby/object:Gem::Requirement
93
+ requirement: &7233640 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.3.0
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *20533740
101
+ version_requirements: *7233640
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: async_sinatra
104
- requirement: &20533240 !ruby/object:Gem::Requirement
104
+ requirement: &7232640 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 0.5.0
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *20533240
112
+ version_requirements: *7232640
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: thin
115
- requirement: &20532660 !ruby/object:Gem::Requirement
115
+ requirement: &7231920 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,21 +120,21 @@ dependencies:
120
120
  version: 1.2.11
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *20532660
123
+ version_requirements: *7231920
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: data_objects
126
- requirement: &20113440 !ruby/object:Gem::Requirement
126
+ requirement: &7231080 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - =
130
130
  - !ruby/object:Gem::Version
131
- version: 0.10.7
131
+ version: 0.10.8
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *20113440
134
+ version_requirements: *7231080
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: datamapper
137
- requirement: &20111380 !ruby/object:Gem::Requirement
137
+ requirement: &7230200 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - =
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 1.1.0
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *20111380
145
+ version_requirements: *7230200
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: dm-sqlite-adapter
148
- requirement: &20109940 !ruby/object:Gem::Requirement
148
+ requirement: &7229220 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - =
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: 1.1.0
154
154
  type: :runtime
155
155
  prerelease: false
156
- version_requirements: *20109940
156
+ version_requirements: *7229220
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: net-ssh
159
- requirement: &20109180 !ruby/object:Gem::Requirement
159
+ requirement: &7228480 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: 2.2.1
165
165
  type: :runtime
166
166
  prerelease: false
167
- version_requirements: *20109180
167
+ version_requirements: *7228480
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: net-scp
170
- requirement: &20107740 !ruby/object:Gem::Requirement
170
+ requirement: &7227380 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 1.0.4
176
176
  type: :runtime
177
177
  prerelease: false
178
- version_requirements: *20107740
178
+ version_requirements: *7227380
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: eventmachine
181
- requirement: &20106600 !ruby/object:Gem::Requirement
181
+ requirement: &7206200 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ! '>='
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 1.0.0.beta.4
187
187
  type: :runtime
188
188
  prerelease: false
189
- version_requirements: *20106600
189
+ version_requirements: *7206200
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: em-synchrony
192
- requirement: &20105540 !ruby/object:Gem::Requirement
192
+ requirement: &7205420 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: 1.0.0
198
198
  type: :runtime
199
199
  prerelease: false
200
- version_requirements: *20105540
200
+ version_requirements: *7205420
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: arachni-rpc-em
203
- requirement: &19801060 !ruby/object:Gem::Requirement
203
+ requirement: &7203680 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ! '>='
@@ -208,7 +208,7 @@ dependencies:
208
208
  version: 0.1.1
209
209
  type: :runtime
210
210
  prerelease: false
211
- version_requirements: *19801060
211
+ version_requirements: *7203680
212
212
  description: ! " Arachni is a feature-full, modular, high-performance Ruby
213
213
  framework aimed towards\n helping penetration testers and administrators
214
214
  evaluate the security of web applications.\n\n Arachni is smart, it trains
@@ -337,6 +337,7 @@ files:
337
337
  - lib/arachni/ui/web/server/public/sidebar-bottom.jpg
338
338
  - lib/arachni/ui/web/server/public/nav-selected-left.jpg
339
339
  - lib/arachni/ui/web/server/public/js/jquery-1.4.4.min.js
340
+ - lib/arachni/ui/web/server/public/js/jquery.easy-confirm-dialog.js
340
341
  - lib/arachni/ui/web/server/public/js/jquery-ui-timepicker.js
341
342
  - lib/arachni/ui/web/server/public/js/jquery-ui-1.8.9.custom.min.js
342
343
  - lib/arachni/ui/web/server/public/spider.png
@@ -609,10 +610,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
609
610
  version: '0'
610
611
  requirements: []
611
612
  rubyforge_project:
612
- rubygems_version: 1.8.10
613
+ rubygems_version: 1.8.15
613
614
  signing_key:
614
615
  specification_version: 3
615
616
  summary: Arachni is a feature-full, modular, high-performance Ruby framework aimed
616
617
  towards helping penetration testers and administrators evaluate the security of
617
618
  web applications.
618
619
  test_files: []
620
+ has_rdoc: