arachni 0.4.5.2 → 0.4.6

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.
Files changed (621) hide show
  1. checksums.yaml +9 -9
  2. data/CHANGELOG.md +97 -0
  3. data/CONTRIBUTORS.md +1 -0
  4. data/NOTICE +1 -1
  5. data/README.md +4 -4
  6. data/Rakefile +111 -26
  7. data/arachni.gemspec +2 -2
  8. data/bin/arachni +1 -1
  9. data/bin/arachni_console +1 -1
  10. data/bin/arachni_multi +1 -1
  11. data/bin/arachni_rpc +1 -1
  12. data/bin/arachni_rpcd +1 -1
  13. data/bin/arachni_rpcd_monitor +1 -1
  14. data/bin/arachni_script +1 -1
  15. data/external/metasploit/LICENSE +1 -1
  16. data/fingerprinters/frameworks/rack.rb +1 -1
  17. data/fingerprinters/languages/asp.rb +1 -1
  18. data/fingerprinters/languages/aspx.rb +1 -1
  19. data/fingerprinters/languages/jsp.rb +3 -5
  20. data/fingerprinters/languages/php.rb +1 -1
  21. data/fingerprinters/languages/python.rb +1 -1
  22. data/fingerprinters/languages/ruby.rb +1 -1
  23. data/fingerprinters/os/bsd.rb +1 -1
  24. data/fingerprinters/os/linux.rb +1 -1
  25. data/fingerprinters/os/solaris.rb +1 -1
  26. data/fingerprinters/os/unix.rb +1 -1
  27. data/fingerprinters/os/windows.rb +1 -1
  28. data/fingerprinters/servers/apache.rb +1 -1
  29. data/fingerprinters/servers/iis.rb +1 -1
  30. data/fingerprinters/servers/jetty.rb +1 -1
  31. data/fingerprinters/servers/nginx.rb +1 -1
  32. data/fingerprinters/servers/tomcat.rb +1 -1
  33. data/lib/arachni.rb +6 -1
  34. data/lib/arachni/audit_store.rb +1 -1
  35. data/lib/arachni/banner.rb +1 -1
  36. data/lib/arachni/component/manager.rb +1 -1
  37. data/lib/arachni/component/options.rb +1 -1
  38. data/lib/arachni/component/options/address.rb +1 -1
  39. data/lib/arachni/component/options/base.rb +1 -1
  40. data/lib/arachni/component/options/bool.rb +1 -1
  41. data/lib/arachni/component/options/enum.rb +1 -1
  42. data/lib/arachni/component/options/float.rb +1 -1
  43. data/lib/arachni/component/options/int.rb +1 -1
  44. data/lib/arachni/component/options/path.rb +1 -1
  45. data/lib/arachni/component/options/port.rb +1 -1
  46. data/lib/arachni/component/options/string.rb +1 -1
  47. data/lib/arachni/component/options/url.rb +1 -1
  48. data/lib/arachni/element/base.rb +1 -1
  49. data/lib/arachni/element/body.rb +1 -1
  50. data/lib/arachni/element/capabilities/auditable.rb +45 -22
  51. data/lib/arachni/element/capabilities/auditable/rdiff.rb +378 -122
  52. data/lib/arachni/element/capabilities/auditable/taint.rb +57 -20
  53. data/lib/arachni/element/capabilities/auditable/timeout.rb +95 -68
  54. data/lib/arachni/element/capabilities/mutable.rb +77 -40
  55. data/lib/arachni/element/capabilities/refreshable.rb +7 -1
  56. data/lib/arachni/element/cookie.rb +46 -167
  57. data/lib/arachni/element/form.rb +77 -517
  58. data/lib/arachni/element/header.rb +21 -15
  59. data/lib/arachni/element/link.rb +2 -2
  60. data/lib/arachni/element/path.rb +1 -1
  61. data/lib/arachni/element/server.rb +1 -1
  62. data/lib/arachni/element_filter.rb +1 -1
  63. data/lib/arachni/error.rb +1 -1
  64. data/lib/arachni/framework.rb +16 -7
  65. data/lib/arachni/http.rb +111 -118
  66. data/lib/arachni/http/cookie_jar.rb +8 -2
  67. data/lib/arachni/issue.rb +4 -1
  68. data/lib/arachni/mixins/observable.rb +1 -1
  69. data/lib/arachni/mixins/progress_bar.rb +1 -1
  70. data/lib/arachni/mixins/terminal.rb +1 -1
  71. data/lib/arachni/module.rb +1 -1
  72. data/lib/arachni/module/auditor.rb +23 -17
  73. data/lib/arachni/module/base.rb +1 -1
  74. data/lib/arachni/module/manager.rb +4 -4
  75. data/lib/arachni/module/output.rb +1 -1
  76. data/lib/arachni/module/utilities.rb +1 -1
  77. data/lib/arachni/options.rb +28 -7
  78. data/lib/arachni/page.rb +4 -5
  79. data/lib/arachni/parser.rb +3 -2
  80. data/lib/arachni/platform.rb +1 -1
  81. data/lib/arachni/platform/fingerprinter.rb +1 -1
  82. data/lib/arachni/platform/list.rb +11 -29
  83. data/lib/arachni/platform/manager.rb +31 -8
  84. data/lib/arachni/plugin.rb +1 -1
  85. data/lib/arachni/plugin/base.rb +1 -1
  86. data/lib/arachni/plugin/manager.rb +1 -1
  87. data/lib/arachni/processes.rb +1 -1
  88. data/lib/arachni/processes/dispatchers.rb +1 -1
  89. data/lib/arachni/processes/helpers.rb +1 -1
  90. data/lib/arachni/processes/helpers/dispatchers.rb +1 -1
  91. data/lib/arachni/processes/helpers/instances.rb +1 -1
  92. data/lib/arachni/processes/helpers/processes.rb +1 -1
  93. data/lib/arachni/processes/instances.rb +1 -1
  94. data/lib/arachni/processes/manager.rb +1 -1
  95. data/lib/arachni/report.rb +1 -1
  96. data/lib/arachni/report/base.rb +1 -1
  97. data/lib/arachni/report/manager.rb +1 -1
  98. data/lib/arachni/rpc/client/base.rb +1 -1
  99. data/lib/arachni/rpc/client/dispatcher.rb +1 -1
  100. data/lib/arachni/rpc/client/instance.rb +1 -1
  101. data/lib/arachni/rpc/server/active_options.rb +1 -1
  102. data/lib/arachni/rpc/server/base.rb +1 -1
  103. data/lib/arachni/rpc/server/dispatcher.rb +10 -6
  104. data/lib/arachni/rpc/server/dispatcher/handler.rb +1 -1
  105. data/lib/arachni/rpc/server/dispatcher/node.rb +5 -3
  106. data/lib/arachni/rpc/server/framework.rb +5 -3
  107. data/lib/arachni/rpc/server/framework/distributor.rb +24 -19
  108. data/lib/arachni/rpc/server/framework/master.rb +1 -1
  109. data/lib/arachni/rpc/server/framework/multi_instance.rb +7 -1
  110. data/lib/arachni/rpc/server/framework/slave.rb +1 -1
  111. data/lib/arachni/rpc/server/instance.rb +5 -4
  112. data/lib/arachni/rpc/server/module/manager.rb +1 -1
  113. data/lib/arachni/rpc/server/output.rb +1 -1
  114. data/lib/arachni/rpc/server/plugin/manager.rb +1 -1
  115. data/lib/arachni/rpc/server/spider.rb +5 -2
  116. data/lib/arachni/ruby.rb +1 -1
  117. data/lib/arachni/ruby/array.rb +9 -1
  118. data/lib/arachni/ruby/enumerable.rb +1 -1
  119. data/lib/arachni/ruby/hash.rb +24 -5
  120. data/lib/arachni/ruby/io.rb +1 -1
  121. data/lib/arachni/ruby/object.rb +1 -1
  122. data/lib/arachni/ruby/set.rb +1 -1
  123. data/lib/arachni/ruby/string.rb +13 -2
  124. data/lib/arachni/ruby/webrick.rb +3 -15
  125. data/lib/arachni/ruby/webrick/cookie.rb +30 -0
  126. data/lib/arachni/ruby/webrick/httprequest.rb +42 -0
  127. data/lib/arachni/session.rb +21 -8
  128. data/lib/arachni/spider.rb +18 -11
  129. data/lib/arachni/support.rb +3 -1
  130. data/lib/arachni/support/buffer.rb +1 -1
  131. data/lib/arachni/support/buffer/autoflush.rb +1 -1
  132. data/lib/arachni/support/buffer/base.rb +1 -1
  133. data/lib/arachni/support/cache.rb +1 -1
  134. data/lib/arachni/support/cache/base.rb +1 -1
  135. data/lib/arachni/support/cache/least_cost_replacement.rb +1 -1
  136. data/lib/arachni/support/cache/least_recently_used.rb +1 -1
  137. data/lib/arachni/support/cache/preference.rb +1 -1
  138. data/lib/arachni/support/cache/random_replacement.rb +1 -1
  139. data/lib/arachni/support/crypto.rb +1 -1
  140. data/lib/arachni/support/crypto/rsa_aes_cbc.rb +1 -1
  141. data/lib/arachni/support/database.rb +1 -1
  142. data/lib/arachni/support/database/base.rb +5 -5
  143. data/lib/arachni/support/database/hash.rb +1 -1
  144. data/lib/arachni/support/database/queue.rb +52 -69
  145. data/lib/arachni/{module → support}/key_filler.rb +11 -17
  146. data/lib/arachni/support/lookup.rb +1 -1
  147. data/lib/arachni/support/lookup/base.rb +1 -1
  148. data/lib/arachni/support/lookup/hash_set.rb +1 -1
  149. data/lib/arachni/support/lookup/moolb.rb +1 -1
  150. data/lib/arachni/support/queue.rb +1 -1
  151. data/lib/arachni/support/queue/disk.rb +1 -1
  152. data/lib/arachni/support/signature.rb +153 -0
  153. data/lib/arachni/trainer.rb +30 -19
  154. data/lib/arachni/typhoeus/hydra.rb +1 -1
  155. data/lib/arachni/typhoeus/request.rb +1 -1
  156. data/lib/arachni/typhoeus/response.rb +8 -2
  157. data/lib/arachni/typhoeus/utils.rb +1 -1
  158. data/lib/arachni/ui/cli/cli.rb +18 -7
  159. data/lib/arachni/ui/cli/output.rb +28 -1
  160. data/lib/arachni/ui/cli/rpc/dispatcher_monitor.rb +1 -1
  161. data/lib/arachni/ui/cli/rpc/instance.rb +1 -1
  162. data/lib/arachni/ui/cli/rpc/local.rb +1 -1
  163. data/lib/arachni/ui/cli/rpc/remote.rb +1 -1
  164. data/lib/arachni/ui/cli/utilities.rb +14 -29
  165. data/lib/arachni/ui/foo/output.rb +1 -1
  166. data/lib/arachni/uri.rb +2 -3
  167. data/lib/arachni/utilities.rb +1 -1
  168. data/lib/arachni/version.rb +1 -1
  169. data/lib/version +1 -1
  170. data/modules/audit/code_injection.rb +1 -1
  171. data/modules/audit/code_injection_php_input_wrapper.rb +1 -1
  172. data/modules/audit/code_injection_timing.rb +1 -1
  173. data/modules/audit/csrf.rb +1 -1
  174. data/modules/audit/file_inclusion.rb +5 -5
  175. data/modules/audit/ldapi.rb +1 -1
  176. data/modules/audit/os_cmd_injection.rb +1 -1
  177. data/modules/audit/os_cmd_injection_timing.rb +4 -3
  178. data/modules/audit/path_traversal.rb +5 -5
  179. data/modules/audit/response_splitting.rb +1 -1
  180. data/modules/audit/rfi.rb +1 -1
  181. data/modules/audit/session_fixation.rb +1 -1
  182. data/modules/audit/source_code_disclosure.rb +21 -17
  183. data/modules/audit/sqli.rb +11 -8
  184. data/modules/audit/sqli/patterns/pgsql +1 -0
  185. data/modules/audit/sqli/regexp_ignore.txt +1 -0
  186. data/modules/audit/sqli_blind_rdiff.rb +12 -12
  187. data/modules/audit/sqli_blind_rdiff/payloads.txt +1 -5
  188. data/modules/audit/sqli_blind_timing.rb +4 -6
  189. data/modules/audit/sqli_blind_timing/mssql.txt +9 -9
  190. data/modules/audit/sqli_blind_timing/mysql.txt +9 -31
  191. data/modules/audit/sqli_blind_timing/pgsql.txt +6 -28
  192. data/modules/audit/trainer.rb +1 -1
  193. data/modules/audit/unvalidated_redirect.rb +1 -1
  194. data/modules/audit/xpath.rb +1 -1
  195. data/modules/audit/xss.rb +12 -12
  196. data/modules/audit/xss_event.rb +1 -1
  197. data/modules/audit/xss_path.rb +1 -1
  198. data/modules/audit/xss_script_tag.rb +13 -20
  199. data/modules/audit/xss_tag.rb +5 -7
  200. data/modules/recon/allowed_methods.rb +1 -1
  201. data/modules/recon/backdoors.rb +1 -1
  202. data/modules/recon/backup_files.rb +1 -1
  203. data/modules/recon/common_directories.rb +1 -1
  204. data/modules/recon/common_files.rb +1 -1
  205. data/modules/recon/common_files/filenames.txt +1 -0
  206. data/modules/recon/directory_listing.rb +2 -2
  207. data/modules/recon/grep/captcha.rb +1 -1
  208. data/modules/recon/grep/credit_card.rb +1 -1
  209. data/modules/recon/grep/cvs_svn_users.rb +1 -1
  210. data/modules/recon/grep/emails.rb +1 -1
  211. data/modules/recon/grep/form_upload.rb +1 -1
  212. data/modules/recon/grep/html_objects.rb +1 -1
  213. data/modules/recon/grep/http_only_cookies.rb +1 -1
  214. data/modules/recon/grep/insecure_cookies.rb +1 -1
  215. data/modules/recon/grep/mixed_resource.rb +1 -1
  216. data/modules/recon/grep/password_autocomplete.rb +1 -1
  217. data/modules/recon/grep/private_ip.rb +1 -1
  218. data/modules/recon/grep/ssn.rb +1 -1
  219. data/modules/recon/grep/unencrypted_password_forms.rb +1 -1
  220. data/modules/recon/htaccess_limit.rb +1 -1
  221. data/modules/recon/http_put.rb +1 -1
  222. data/modules/recon/interesting_responses.rb +1 -1
  223. data/modules/recon/localstart_asp.rb +5 -5
  224. data/modules/recon/webdav.rb +1 -1
  225. data/modules/recon/x_forwarded_for_access_restriction_bypass.rb +1 -1
  226. data/modules/recon/xst.rb +1 -1
  227. data/path_extractors/anchors.rb +1 -1
  228. data/path_extractors/areas.rb +1 -1
  229. data/path_extractors/forms.rb +1 -1
  230. data/path_extractors/frames.rb +1 -1
  231. data/path_extractors/generic.rb +1 -1
  232. data/path_extractors/links.rb +1 -1
  233. data/path_extractors/meta_refresh.rb +1 -1
  234. data/path_extractors/scripts.rb +1 -1
  235. data/plugins/autologin.rb +16 -8
  236. data/plugins/beep_notify.rb +1 -1
  237. data/plugins/{defaults/content_types.rb → content_types.rb} +1 -1
  238. data/plugins/cookie_collector.rb +21 -11
  239. data/plugins/defaults/autothrottle.rb +1 -1
  240. data/plugins/defaults/healthmap.rb +1 -1
  241. data/plugins/defaults/meta/remedies/discovery.rb +1 -1
  242. data/plugins/defaults/meta/remedies/timing_attacks.rb +6 -8
  243. data/plugins/defaults/meta/uniformity.rb +1 -1
  244. data/plugins/defaults/resolver.rb +1 -1
  245. data/plugins/email_notify.rb +1 -1
  246. data/plugins/form_dicattack.rb +1 -1
  247. data/plugins/http_dicattack.rb +1 -1
  248. data/plugins/libnotify.rb +1 -1
  249. data/plugins/profiler.rb +1 -1
  250. data/plugins/proxy.rb +2 -1
  251. data/plugins/proxy/server.rb +3 -1
  252. data/plugins/proxy/template_scope.rb +1 -1
  253. data/plugins/rescan.rb +1 -1
  254. data/plugins/script.rb +1 -1
  255. data/plugins/uncommon_headers.rb +2 -1
  256. data/plugins/vector_feed.rb +1 -1
  257. data/plugins/waf_detector.rb +1 -1
  258. data/reports/afr.rb +8 -9
  259. data/reports/ap.rb +1 -1
  260. data/reports/html.rb +8 -12
  261. data/reports/html/default.erb +2 -3
  262. data/reports/html/default/issue.erb +0 -12
  263. data/reports/html/default/issues.erb +2 -2
  264. data/reports/json.rb +13 -10
  265. data/reports/marshal.rb +8 -9
  266. data/reports/metareport.rb +9 -10
  267. data/reports/plugin_formatters/html/autologin.rb +1 -1
  268. data/reports/plugin_formatters/html/content_types.rb +1 -1
  269. data/reports/plugin_formatters/html/cookie_collector.rb +1 -1
  270. data/reports/plugin_formatters/html/discovery.rb +1 -1
  271. data/reports/plugin_formatters/html/form_dicattack.rb +1 -1
  272. data/reports/plugin_formatters/html/healthmap.rb +1 -1
  273. data/reports/plugin_formatters/html/http_dicattack.rb +1 -1
  274. data/reports/plugin_formatters/html/profiler.rb +1 -1
  275. data/reports/plugin_formatters/html/resolver.rb +1 -1
  276. data/reports/plugin_formatters/html/timing_attacks.rb +1 -1
  277. data/reports/plugin_formatters/html/uncommon_headers.rb +1 -1
  278. data/reports/plugin_formatters/html/uniformity.rb +1 -1
  279. data/reports/plugin_formatters/html/waf_detector.rb +1 -1
  280. data/reports/plugin_formatters/stdout/autologin.rb +1 -1
  281. data/reports/plugin_formatters/stdout/content_types.rb +1 -1
  282. data/reports/plugin_formatters/stdout/cookie_collector.rb +1 -1
  283. data/reports/plugin_formatters/stdout/discovery.rb +1 -1
  284. data/reports/plugin_formatters/stdout/form_dicattack.rb +1 -1
  285. data/reports/plugin_formatters/stdout/healthmap.rb +2 -4
  286. data/reports/plugin_formatters/stdout/http_dicattack.rb +1 -1
  287. data/reports/plugin_formatters/stdout/profiler.rb +1 -1
  288. data/reports/plugin_formatters/stdout/resolver.rb +1 -1
  289. data/reports/plugin_formatters/stdout/timing_attacks.rb +1 -1
  290. data/reports/plugin_formatters/stdout/uncommon_headers.rb +1 -1
  291. data/reports/plugin_formatters/stdout/uniformity.rb +1 -1
  292. data/reports/plugin_formatters/stdout/waf_detector.rb +1 -1
  293. data/reports/plugin_formatters/xml/autologin.rb +1 -1
  294. data/reports/plugin_formatters/xml/content_types.rb +1 -1
  295. data/reports/plugin_formatters/xml/cookie_collector.rb +1 -1
  296. data/reports/plugin_formatters/xml/discovery.rb +1 -1
  297. data/reports/plugin_formatters/xml/form_dicattack.rb +1 -1
  298. data/reports/plugin_formatters/xml/healthmap.rb +1 -1
  299. data/reports/plugin_formatters/xml/http_dicattack.rb +1 -1
  300. data/reports/plugin_formatters/xml/profiler.rb +1 -1
  301. data/reports/plugin_formatters/xml/resolver.rb +1 -1
  302. data/reports/plugin_formatters/xml/timing_attacks.rb +1 -1
  303. data/reports/plugin_formatters/xml/uncommon_headers.rb +1 -1
  304. data/reports/plugin_formatters/xml/uniformity.rb +1 -1
  305. data/reports/plugin_formatters/xml/waf_detector.rb +1 -1
  306. data/reports/stdout.rb +1 -1
  307. data/reports/txt.rb +1 -1
  308. data/reports/xml.rb +8 -9
  309. data/reports/xml/buffer.rb +2 -2
  310. data/reports/yaml.rb +8 -9
  311. data/spec/arachni/element/capabilities/auditable/rdiff_spec.rb +80 -2
  312. data/spec/arachni/element/capabilities/auditable/timeout_spec.rb +44 -29
  313. data/spec/arachni/element/cookie_spec.rb +1 -1
  314. data/spec/arachni/element/form_spec.rb +31 -13
  315. data/spec/arachni/http/cookie_jar_spec.rb +11 -0
  316. data/spec/arachni/http_spec.rb +33 -7
  317. data/spec/arachni/issue_spec.rb +10 -3
  318. data/spec/arachni/options_spec.rb +18 -1
  319. data/spec/arachni/parser_spec.rb +27 -26
  320. data/spec/arachni/rpc/server/dispatcher/node_spec.rb +10 -1
  321. data/spec/arachni/rpc/server/dispatcher_spec.rb +15 -0
  322. data/spec/arachni/ruby/array_spec.rb +11 -0
  323. data/spec/arachni/ruby/hash_spec.rb +28 -1
  324. data/spec/arachni/ruby/string_spec.rb +14 -1
  325. data/spec/arachni/session_spec.rb +39 -0
  326. data/spec/arachni/spider_spec.rb +23 -14
  327. data/spec/arachni/{module → support}/key_filler.rb +20 -2
  328. data/spec/arachni/support/signature_spec.rb +158 -0
  329. data/spec/arachni/trainer_spec.rb +31 -0
  330. data/spec/arachni/typhoeus/response_spec.rb +17 -0
  331. data/spec/arachni/uri_spec.rb +1 -1
  332. data/spec/external/wavsep/active/lfi_spec.rb +94 -0
  333. data/spec/external/wavsep/active/rfi_spec.rb +35 -0
  334. data/spec/external/wavsep/active/sqli_spec.rb +108 -0
  335. data/spec/external/wavsep/active/xss_spec.rb +41 -0
  336. data/spec/external/wavsep/false_positives/lfi_spec.rb +33 -0
  337. data/spec/external/wavsep/false_positives/rfi_spec.rb +21 -0
  338. data/spec/external/wavsep/false_positives/sqli_spec.rb +32 -0
  339. data/spec/external/wavsep/false_positives/xss_spec.rb +21 -0
  340. data/spec/modules/audit/source_code_disclosure_spec.rb +4 -4
  341. data/spec/modules/audit/sqli_blind_rdiff_spec.rb +1 -1
  342. data/spec/modules/audit/sqli_blind_timing_spec.rb +3 -3
  343. data/spec/modules/audit/sqli_spec.rb +1 -1
  344. data/spec/modules/audit/xss_script_tag_spec.rb +1 -1
  345. data/spec/plugins/autologin_spec.rb +25 -7
  346. data/spec/plugins/cookie_collector_spec.rb +17 -0
  347. data/spec/spec_helper.rb +1 -1
  348. data/spec/support/fixtures/fingerprinters/test.rb +1 -1
  349. data/spec/support/fixtures/modules/test.rb +1 -1
  350. data/spec/support/fixtures/modules/test2.rb +1 -1
  351. data/spec/support/fixtures/modules/test3.rb +1 -1
  352. data/spec/support/fixtures/plugins/bad.rb +1 -1
  353. data/spec/support/fixtures/plugins/defaults/default.rb +1 -1
  354. data/spec/support/fixtures/plugins/distributable.rb +1 -1
  355. data/spec/support/fixtures/plugins/loop.rb +1 -1
  356. data/spec/support/fixtures/plugins/spider_hook.rb +1 -1
  357. data/spec/support/fixtures/plugins/wait.rb +1 -1
  358. data/spec/support/fixtures/plugins/with_options.rb +1 -1
  359. data/spec/support/fixtures/reports/base_spec/plugin_formatters/with_formatters/foobar.rb +1 -1
  360. data/spec/support/fixtures/reports/base_spec/with_formatters.rb +1 -1
  361. data/spec/support/fixtures/reports/base_spec/with_outfile.rb +1 -1
  362. data/spec/support/fixtures/reports/base_spec/without_outfile.rb +1 -1
  363. data/spec/support/fixtures/reports/manager_spec/afr.rb +1 -1
  364. data/spec/support/fixtures/reports/manager_spec/foo.rb +1 -1
  365. data/spec/support/fixtures/run_mod/body.rb +1 -1
  366. data/spec/support/fixtures/run_mod/cookies.rb +1 -1
  367. data/spec/support/fixtures/run_mod/empty.rb +1 -1
  368. data/spec/support/fixtures/run_mod/flch.rb +1 -1
  369. data/spec/support/fixtures/run_mod/forms.rb +1 -1
  370. data/spec/support/fixtures/run_mod/headers.rb +1 -1
  371. data/spec/support/fixtures/run_mod/links.rb +1 -1
  372. data/spec/support/fixtures/run_mod/nil.rb +1 -1
  373. data/spec/support/fixtures/run_mod/path.rb +1 -1
  374. data/spec/support/fixtures/run_mod/server.rb +1 -1
  375. data/spec/support/fixtures/taint_module/taint.rb +1 -1
  376. data/spec/support/fixtures/wait_module/wait.rb +1 -1
  377. data/spec/support/helpers/framework.rb +1 -1
  378. data/spec/support/helpers/misc.rb +1 -1
  379. data/spec/support/helpers/paths.rb +1 -1
  380. data/spec/support/helpers/requires.rb +1 -1
  381. data/spec/support/helpers/resets.rb +1 -1
  382. data/spec/support/helpers/web_server.rb +1 -1
  383. data/spec/support/lib/web_server_manager.rb +1 -1
  384. data/spec/support/logs/Dispatcher - 10129-46995.log +9 -0
  385. data/spec/support/logs/Dispatcher - 10139-63648.log +19 -0
  386. data/spec/support/logs/Dispatcher - 10149-5551.log +17 -0
  387. data/spec/support/logs/Dispatcher - 10158-34385.log +13 -0
  388. data/spec/support/logs/Dispatcher - 10167-55701.log +9 -0
  389. data/spec/support/logs/Dispatcher - 10176-8922.log +9 -0
  390. data/spec/support/logs/Dispatcher - 10185-53716.log +11 -0
  391. data/spec/support/logs/Dispatcher - 10198-44724.log +11 -0
  392. data/spec/support/logs/Dispatcher - 10211-7697.log +11 -0
  393. data/spec/support/logs/Dispatcher - 10224-3751.log +35 -0
  394. data/spec/support/logs/Dispatcher - 10285-7404.log +21 -0
  395. data/spec/support/logs/Dispatcher - 10294-56221.log +21 -0
  396. data/spec/support/logs/Dispatcher - 10303-2483.log +23 -0
  397. data/spec/support/logs/Dispatcher - 10344-60543.log +19 -0
  398. data/spec/support/logs/Dispatcher - 10355-31708.log +17 -0
  399. data/spec/support/logs/Dispatcher - 10364-63170.log +15 -0
  400. data/spec/support/logs/Dispatcher - 10377-37936.log +11 -0
  401. data/spec/support/logs/Dispatcher - 10390-37511.log +9 -0
  402. data/spec/support/logs/Dispatcher - 10400-29603.log +9 -0
  403. data/spec/support/logs/Dispatcher - 10409-57042.log +9 -0
  404. data/spec/support/logs/Dispatcher - 10418-17812.log +9 -0
  405. data/spec/support/logs/Dispatcher - 10427-59862.log +11 -0
  406. data/spec/support/logs/Dispatcher - 10440-48351.log +9 -0
  407. data/spec/support/logs/Dispatcher - 10449-24218.log +9 -0
  408. data/spec/support/logs/Dispatcher - 10458-54646.log +9 -0
  409. data/spec/support/logs/Dispatcher - 10511-3333.log +63 -0
  410. data/spec/support/logs/Dispatcher - 10520-50009.log +43 -0
  411. data/spec/support/logs/Dispatcher - 10529-44870.log +39 -0
  412. data/spec/support/logs/Dispatcher - 10538-49556.log +34 -0
  413. data/spec/support/logs/Dispatcher - 10547-61887.log +28 -0
  414. data/spec/support/logs/Dispatcher - 10556-31163.log +21 -0
  415. data/spec/support/logs/Dispatcher - 10565-40008.log +13 -0
  416. data/spec/support/logs/Dispatcher - 10575-18836.log +9 -0
  417. data/spec/support/logs/Dispatcher - 10747-32268.log +19 -0
  418. data/spec/support/logs/Dispatcher - 10757-4081.log +21 -0
  419. data/spec/support/logs/Dispatcher - 10766-49190.log +15 -0
  420. data/spec/support/logs/Dispatcher - 10780-46610.log +19 -0
  421. data/spec/support/logs/Dispatcher - 10789-5332.log +21 -0
  422. data/spec/support/logs/Dispatcher - 10798-56243.log +15 -0
  423. data/spec/support/logs/Dispatcher - 10920-32037.log +17 -0
  424. data/spec/support/logs/Dispatcher - 10929-35662.log +21 -0
  425. data/spec/support/logs/Dispatcher - 10938-64010.log +13 -0
  426. data/spec/support/logs/Dispatcher - 10951-44746.log +19 -0
  427. data/spec/support/logs/Dispatcher - 10961-55791.log +21 -0
  428. data/spec/support/logs/Dispatcher - 10972-58913.log +15 -0
  429. data/spec/support/logs/Dispatcher - 11023-45004.log +17 -0
  430. data/spec/support/logs/Dispatcher - 11033-55505.log +21 -0
  431. data/spec/support/logs/Dispatcher - 11042-46123.log +13 -0
  432. data/spec/support/logs/Dispatcher - 11055-26836.log +17 -0
  433. data/spec/support/logs/Dispatcher - 11064-60361.log +21 -0
  434. data/spec/support/logs/Dispatcher - 11073-17507.log +13 -0
  435. data/spec/support/logs/Dispatcher - 11298-28357.log +19 -0
  436. data/spec/support/logs/Dispatcher - 11307-62669.log +21 -0
  437. data/spec/support/logs/Dispatcher - 11316-9391.log +15 -0
  438. data/spec/support/logs/Dispatcher - 11340-45921.log +21 -0
  439. data/spec/support/logs/Dispatcher - 11349-8693.log +25 -0
  440. data/spec/support/logs/Dispatcher - 11358-53753.log +15 -0
  441. data/spec/support/logs/Dispatcher - 11394-29437.log +17 -0
  442. data/spec/support/logs/Dispatcher - 11403-59953.log +21 -0
  443. data/spec/support/logs/Dispatcher - 11412-51134.log +13 -0
  444. data/spec/support/logs/Dispatcher - 11425-42569.log +21 -0
  445. data/spec/support/logs/Dispatcher - 11434-16150.log +25 -0
  446. data/spec/support/logs/Dispatcher - 11443-19072.log +15 -0
  447. data/spec/support/logs/Dispatcher - 11479-39149.log +17 -0
  448. data/spec/support/logs/Dispatcher - 11488-42169.log +21 -0
  449. data/spec/support/logs/Dispatcher - 11497-29822.log +13 -0
  450. data/spec/support/logs/Dispatcher - 11510-8273.log +17 -0
  451. data/spec/support/logs/Dispatcher - 11519-18206.log +21 -0
  452. data/spec/support/logs/Dispatcher - 11528-55825.log +13 -0
  453. data/spec/support/logs/Dispatcher - 9969-52890.log +9 -0
  454. data/spec/support/logs/Dispatcher - 9996-38451.log +21 -0
  455. data/spec/support/logs/{Instance - 12589-35500.error.log → Instance - 10762-33696.error.log } +63 -40
  456. data/spec/support/logs/{Instance - 16415-47240.error.log → Instance - 11038-18065.error.log } +65 -42
  457. data/spec/support/logs/{Instance - 16762-48636.error.log → Instance - 11069-34848.error.log } +162 -139
  458. data/spec/support/logs/{Instance - 16789-61713.error.log → Instance - 11091-33954.error.log } +60 -37
  459. data/spec/support/logs/{Instance - 16795-55306.error.log → Instance - 11097-33191.error.log } +65 -42
  460. data/spec/support/logs/{Instance - 12909-9442.error.log → Instance - 11229-38634.error.log } +60 -37
  461. data/spec/support/servers/arachni/element/capabilities/auditable/rdiff.rb +131 -7
  462. data/spec/support/servers/arachni/element/capabilities/auditable/timeout.rb +4 -0
  463. data/spec/support/servers/arachni/element/form.rb +27 -0
  464. data/spec/support/servers/arachni/element/link.rb +16 -0
  465. data/spec/support/servers/arachni/session.rb +17 -1
  466. data/spec/support/servers/arachni/spider.rb +25 -1
  467. data/spec/support/servers/arachni/trainer.rb +8 -0
  468. data/spec/support/servers/modules/audit/os_cmd_injection_timing.rb +2 -1
  469. data/spec/support/servers/modules/audit/source_code_disclosure.rb +0 -1
  470. data/spec/support/servers/modules/audit/sqli/postgresql +2 -0
  471. data/spec/support/servers/modules/audit/sqli_blind_rdiff.rb +9 -13
  472. data/spec/support/shared/element/capabilities/auditable.rb +62 -3
  473. data/spec/support/shared/element/capabilities/refreshable.rb +27 -0
  474. data/spec/support/shared/external/wavsep.rb +89 -0
  475. metadata +1081 -1206
  476. data/lib/arachni/platforms.rb +0 -499
  477. data/logs/Dispatcher - 12101-7331.log +0 -15
  478. data/spec/support/logs/Dispatcher - 11821-58635.log +0 -9
  479. data/spec/support/logs/Dispatcher - 11848-37716.log +0 -21
  480. data/spec/support/logs/Dispatcher - 11974-31477.log +0 -9
  481. data/spec/support/logs/Dispatcher - 11984-10290.log +0 -19
  482. data/spec/support/logs/Dispatcher - 11993-33501.log +0 -17
  483. data/spec/support/logs/Dispatcher - 12002-62227.log +0 -13
  484. data/spec/support/logs/Dispatcher - 12013-45779.log +0 -9
  485. data/spec/support/logs/Dispatcher - 12022-22434.log +0 -9
  486. data/spec/support/logs/Dispatcher - 12031-41130.log +0 -11
  487. data/spec/support/logs/Dispatcher - 12045-23894.log +0 -11
  488. data/spec/support/logs/Dispatcher - 12059-57317.log +0 -35
  489. data/spec/support/logs/Dispatcher - 12122-60206.log +0 -21
  490. data/spec/support/logs/Dispatcher - 12132-58445.log +0 -21
  491. data/spec/support/logs/Dispatcher - 12141-13273.log +0 -23
  492. data/spec/support/logs/Dispatcher - 12183-2341.log +0 -19
  493. data/spec/support/logs/Dispatcher - 12192-56486.log +0 -17
  494. data/spec/support/logs/Dispatcher - 12201-8840.log +0 -15
  495. data/spec/support/logs/Dispatcher - 12214-47545.log +0 -11
  496. data/spec/support/logs/Dispatcher - 12227-23676.log +0 -9
  497. data/spec/support/logs/Dispatcher - 12236-16018.log +0 -9
  498. data/spec/support/logs/Dispatcher - 12245-61980.log +0 -9
  499. data/spec/support/logs/Dispatcher - 12254-30185.log +0 -9
  500. data/spec/support/logs/Dispatcher - 12263-29578.log +0 -11
  501. data/spec/support/logs/Dispatcher - 12276-64279.log +0 -9
  502. data/spec/support/logs/Dispatcher - 12285-49975.log +0 -9
  503. data/spec/support/logs/Dispatcher - 12347-26600.log +0 -63
  504. data/spec/support/logs/Dispatcher - 12356-43960.log +0 -43
  505. data/spec/support/logs/Dispatcher - 12365-30567.log +0 -39
  506. data/spec/support/logs/Dispatcher - 12374-49263.log +0 -34
  507. data/spec/support/logs/Dispatcher - 12401-6543.log +0 -28
  508. data/spec/support/logs/Dispatcher - 12410-21678.log +0 -21
  509. data/spec/support/logs/Dispatcher - 12419-42381.log +0 -13
  510. data/spec/support/logs/Dispatcher - 12429-25829.log +0 -9
  511. data/spec/support/logs/Dispatcher - 12574-63838.log +0 -19
  512. data/spec/support/logs/Dispatcher - 12584-33256.log +0 -21
  513. data/spec/support/logs/Dispatcher - 12593-45982.log +0 -15
  514. data/spec/support/logs/Dispatcher - 12606-64171.log +0 -19
  515. data/spec/support/logs/Dispatcher - 12615-52258.log +0 -21
  516. data/spec/support/logs/Dispatcher - 12624-48032.log +0 -15
  517. data/spec/support/logs/Dispatcher - 12744-31691.log +0 -17
  518. data/spec/support/logs/Dispatcher - 12753-9777.log +0 -21
  519. data/spec/support/logs/Dispatcher - 12762-14195.log +0 -13
  520. data/spec/support/logs/Dispatcher - 12775-52778.log +0 -19
  521. data/spec/support/logs/Dispatcher - 12784-33121.log +0 -21
  522. data/spec/support/logs/Dispatcher - 12793-23476.log +0 -15
  523. data/spec/support/logs/Dispatcher - 12845-33401.log +0 -17
  524. data/spec/support/logs/Dispatcher - 12854-58592.log +0 -21
  525. data/spec/support/logs/Dispatcher - 12863-38667.log +0 -13
  526. data/spec/support/logs/Dispatcher - 12876-18504.log +0 -17
  527. data/spec/support/logs/Dispatcher - 12885-8765.log +0 -21
  528. data/spec/support/logs/Dispatcher - 12894-7708.log +0 -13
  529. data/spec/support/logs/Dispatcher - 13112-20247.log +0 -19
  530. data/spec/support/logs/Dispatcher - 13121-37610.log +0 -21
  531. data/spec/support/logs/Dispatcher - 13130-55144.log +0 -15
  532. data/spec/support/logs/Dispatcher - 13154-11476.log +0 -21
  533. data/spec/support/logs/Dispatcher - 13163-28157.log +0 -25
  534. data/spec/support/logs/Dispatcher - 13172-1403.log +0 -15
  535. data/spec/support/logs/Dispatcher - 13208-39214.log +0 -17
  536. data/spec/support/logs/Dispatcher - 13217-25789.log +0 -21
  537. data/spec/support/logs/Dispatcher - 13226-32449.log +0 -13
  538. data/spec/support/logs/Dispatcher - 13239-50344.log +0 -21
  539. data/spec/support/logs/Dispatcher - 13248-35317.log +0 -25
  540. data/spec/support/logs/Dispatcher - 13257-20820.log +0 -15
  541. data/spec/support/logs/Dispatcher - 13293-39307.log +0 -17
  542. data/spec/support/logs/Dispatcher - 13302-62417.log +0 -21
  543. data/spec/support/logs/Dispatcher - 13311-57144.log +0 -13
  544. data/spec/support/logs/Dispatcher - 13324-35654.log +0 -17
  545. data/spec/support/logs/Dispatcher - 13333-9999.log +0 -21
  546. data/spec/support/logs/Dispatcher - 13342-64466.log +0 -13
  547. data/spec/support/logs/Dispatcher - 15092-40680.log +0 -9
  548. data/spec/support/logs/Dispatcher - 15119-21562.log +0 -21
  549. data/spec/support/logs/Dispatcher - 15680-63471.log +0 -9
  550. data/spec/support/logs/Dispatcher - 15690-15104.log +0 -19
  551. data/spec/support/logs/Dispatcher - 15699-36034.log +0 -17
  552. data/spec/support/logs/Dispatcher - 15708-21275.log +0 -13
  553. data/spec/support/logs/Dispatcher - 15717-6134.log +0 -9
  554. data/spec/support/logs/Dispatcher - 15727-5906.log +0 -9
  555. data/spec/support/logs/Dispatcher - 15736-27941.log +0 -11
  556. data/spec/support/logs/Dispatcher - 15749-31464.log +0 -11
  557. data/spec/support/logs/Dispatcher - 15762-52837.log +0 -35
  558. data/spec/support/logs/Dispatcher - 15823-2486.log +0 -21
  559. data/spec/support/logs/Dispatcher - 15832-34792.log +0 -21
  560. data/spec/support/logs/Dispatcher - 15841-3367.log +0 -23
  561. data/spec/support/logs/Dispatcher - 15886-2171.log +0 -19
  562. data/spec/support/logs/Dispatcher - 15895-6022.log +0 -17
  563. data/spec/support/logs/Dispatcher - 15904-51624.log +0 -15
  564. data/spec/support/logs/Dispatcher - 15917-11227.log +0 -11
  565. data/spec/support/logs/Dispatcher - 15930-17170.log +0 -9
  566. data/spec/support/logs/Dispatcher - 15939-24891.log +0 -9
  567. data/spec/support/logs/Dispatcher - 15948-26858.log +0 -9
  568. data/spec/support/logs/Dispatcher - 15957-12278.log +0 -9
  569. data/spec/support/logs/Dispatcher - 15967-37642.log +0 -11
  570. data/spec/support/logs/Dispatcher - 15981-57959.log +0 -9
  571. data/spec/support/logs/Dispatcher - 16000-51003.log +0 -9
  572. data/spec/support/logs/Dispatcher - 16064-25969.log +0 -63
  573. data/spec/support/logs/Dispatcher - 16073-13164.log +0 -43
  574. data/spec/support/logs/Dispatcher - 16083-21729.log +0 -39
  575. data/spec/support/logs/Dispatcher - 16092-48691.log +0 -34
  576. data/spec/support/logs/Dispatcher - 16101-7385.log +0 -28
  577. data/spec/support/logs/Dispatcher - 16110-24222.log +0 -21
  578. data/spec/support/logs/Dispatcher - 16119-29645.log +0 -13
  579. data/spec/support/logs/Dispatcher - 16129-23325.log +0 -9
  580. data/spec/support/logs/Dispatcher - 16399-42716.log +0 -19
  581. data/spec/support/logs/Dispatcher - 16410-3301.log +0 -21
  582. data/spec/support/logs/Dispatcher - 16419-8500.log +0 -15
  583. data/spec/support/logs/Dispatcher - 16432-2467.log +0 -19
  584. data/spec/support/logs/Dispatcher - 16441-27407.log +0 -21
  585. data/spec/support/logs/Dispatcher - 16450-28157.log +0 -15
  586. data/spec/support/logs/Dispatcher - 16607-37339.log +0 -17
  587. data/spec/support/logs/Dispatcher - 16616-50971.log +0 -21
  588. data/spec/support/logs/Dispatcher - 16625-28154.log +0 -13
  589. data/spec/support/logs/Dispatcher - 16638-17094.log +0 -19
  590. data/spec/support/logs/Dispatcher - 16647-25657.log +0 -21
  591. data/spec/support/logs/Dispatcher - 16656-11108.log +0 -15
  592. data/spec/support/logs/Dispatcher - 16716-31067.log +0 -17
  593. data/spec/support/logs/Dispatcher - 16726-34466.log +0 -21
  594. data/spec/support/logs/Dispatcher - 16735-55150.log +0 -13
  595. data/spec/support/logs/Dispatcher - 16748-7910.log +0 -17
  596. data/spec/support/logs/Dispatcher - 16757-62118.log +0 -21
  597. data/spec/support/logs/Dispatcher - 16766-31937.log +0 -13
  598. data/spec/support/logs/Dispatcher - 16999-6441.log +0 -19
  599. data/spec/support/logs/Dispatcher - 17008-51788.log +0 -21
  600. data/spec/support/logs/Dispatcher - 17017-20096.log +0 -15
  601. data/spec/support/logs/Dispatcher - 17041-15877.log +0 -21
  602. data/spec/support/logs/Dispatcher - 17050-42137.log +0 -25
  603. data/spec/support/logs/Dispatcher - 17059-12767.log +0 -15
  604. data/spec/support/logs/Dispatcher - 17095-3041.log +0 -17
  605. data/spec/support/logs/Dispatcher - 17104-42336.log +0 -21
  606. data/spec/support/logs/Dispatcher - 17113-11660.log +0 -13
  607. data/spec/support/logs/Dispatcher - 17126-64859.log +0 -21
  608. data/spec/support/logs/Dispatcher - 17135-11634.log +0 -25
  609. data/spec/support/logs/Dispatcher - 17144-37598.log +0 -15
  610. data/spec/support/logs/Dispatcher - 17180-55804.log +0 -17
  611. data/spec/support/logs/Dispatcher - 17189-5599.log +0 -21
  612. data/spec/support/logs/Dispatcher - 17198-13188.log +0 -13
  613. data/spec/support/logs/Dispatcher - 17211-23553.log +0 -17
  614. data/spec/support/logs/Dispatcher - 17220-36701.log +0 -21
  615. data/spec/support/logs/Dispatcher - 17229-41502.log +0 -13
  616. data/spec/support/logs/Instance - 12859-23151.error.log +0 -314
  617. data/spec/support/logs/Instance - 12890-17901.error.log +0 -413
  618. data/spec/support/logs/Instance - 12915-45947.error.log +0 -314
  619. data/spec/support/logs/Instance - 13044-48074.error.log +0 -312
  620. data/spec/support/logs/Instance - 16731-60738.error.log +0 -314
  621. data/spec/support/logs/Instance - 16931-37511.error.log +0 -312
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzNlOTZlMGUyOTkwNTY4MWRmYTQyYmFmNmRlMGI0ZDVlNzZkMmI4NA==
4
+ MjQyMTU0MWMwYTcyZTVhMjk0NDM0YjZlMmZiMDllYmI4ZTNkZjM4Zg==
5
5
  data.tar.gz: !binary |-
6
- YmNiN2YyNmFlMzZlZThjYmZiMGUwZGY1MTQ5NjlhZTgyYzk4M2NjZQ==
7
- !binary "U0hBNTEy":
6
+ MWI4ZjZmNzE5MzMxM2UyOTdkMzI4NjM0YTI0NWQwZDg4NmUxMzcwYw==
7
+ SHA512:
8
8
  metadata.gz: !binary |-
9
- MDZmZGMzZTU5ZjVhM2Q4MDg2OTI5NGUwMDBhZTJhNGRlOGViYjc4YjlmY2I3
10
- OWE4Y2E4MTFkODIyNTI0N2VmNzBmM2Q2YjEwZGQxMmZlNjFjODQ3YTFmYmZh
11
- N2Y5NDhhNzgyMTQzZmM0MTRiNWMzNmYwZWEwOTVjY2ExZWQ3NjA=
9
+ N2NkYzk3M2Y1MzY3YWQ0ZmEwZTM0ODBiZGUwNmZhYmIxOWRlODAyZDFjOTgw
10
+ YTIwMmQ0YjdhNDhjMWUzNWVkYzQ0MTM0ZjA5ZGQyYzM2MzQ2MDgyZWFiZmQw
11
+ MDY5NDFiMWY0ZGY4YzNjMWZjNTliMmFlM2YyZGM2MzFlZjY4YTg=
12
12
  data.tar.gz: !binary |-
13
- MzRiNTI1ZDY0Y2EwZjBlNmRiYWRjOGE0ZmI5ODkyMmQyZjMzN2VlNWVkZTg3
14
- ZTkzMDEzMjBlZGZiMGM2MmI5MTkyZmE5ZmRiZTY0NzcwMDc2YzY3M2JkN2Y4
15
- ZmY0MDhiMTAyMDU5YWRlZGEwMjMzOGRjNjhiMTE2NzcxNDhjZjU=
13
+ M2JlNDdkN2MxODRhMThkYzQxNTBkZjcyMWQxNTg3ZWM2YzU5NTQyOTRhNmFm
14
+ ZTVkNzA4MjJjNmI2NzQ0ZTE2ZjNkNzgzNmFlMGJkYWQwMGRhNjc0M2RiODM5
15
+ YjY3MGM1MGRiNWFmYjI0MTg2YjVmNjZjYzhiOGZhNTk3NGM4YTE=
data/CHANGELOG.md CHANGED
@@ -1,5 +1,102 @@
1
1
  # ChangeLog
2
2
 
3
+ ## 0.4.6 _(January 1, 2014)_
4
+
5
+ - CLI user interfaces
6
+ - `--lsmod`
7
+ - Longer pauses every 3 modules, it lists all of them at once.
8
+ - Updated to show the _Severity_ of the issues the module logs.
9
+ - `Ctrl+C` screen optimized to use less resources when printing scan data.
10
+ - Options
11
+ - `--cookie-string` -- Updated to also handle cookies in the form of `Set-Cookie` headers.
12
+ - Added:
13
+ - `--external-address` -- The external address of a Dispatcher.
14
+ - `--http-queue-size` -- Maximum amount of requests to keep in the queue,
15
+ bigger size means better scheduling and better performance, smaller
16
+ means less RAM consumption.
17
+ - `Session`
18
+ - `#ensure_logged_in` -- Retry on login failure.
19
+ - `Spider`
20
+ - Don't apply scope restrictions to the seed URL.
21
+ - `Framework`
22
+ - Audit
23
+ - Stored pages are now offloaded to disk to lower RAM consumption.
24
+ - `Trainer`
25
+ - `#push` -- Prints verbose messages in cases of scope violations.
26
+ - `HTTP`
27
+ - Maximum request-queue size lowered from 5000 to 500, to decrease RAM usage
28
+ by preventing the storage of large amounts of requests for extended periods of time.
29
+ - Updated to use the new `Support::Signature` class for custom-404 signatures.
30
+ - `RPC::Server::Dispatcher`
31
+ - Now supports specifying an external address to allow for deployments behind NATs.
32
+ - `Element::Capabilities::Auditable::RDiff`
33
+ - Updated to use the new `Support::Signature` class to perform response body comparisons.
34
+ - Updated the algorithm to use a `false` as the control.
35
+ - Added integrity check for the analysis process.
36
+ - Optimized scheduling of data gathering.
37
+ - Reduced total amount of performed requests.
38
+ - Massively reduced RAM consumption for data storage and analysis.
39
+ - `Element::Capabilities::Auditable::Timeout`
40
+ - Updated the algorithm to use an approximated web application processing
41
+ time instead of the HTTP timeout based on the total request-response process.
42
+ - Made analysis corruption checks more stringent to diminish the chances of
43
+ false positives.
44
+ - Fixed bug causing non-vetted inputs to reach the final stages of analysis
45
+ which sometimes resulted in false positives.
46
+ - Added a cool-off period after Phase 2 to ensure webapp responsiveness post-attack.
47
+ - Improved status messages.
48
+ - `Element::Capabilities::Auditable::Taint`
49
+ - Added longest-word-optimization -- Checks if the longest word of a regexp
50
+ exists in the response body prior to matching the full-blown regexp.
51
+ - `Element::Capabilities::Auditable#audit`
52
+ - Added option `:skip_like`, accepting blocks used to filter the mutations
53
+ about to be audited.
54
+ - Fixed bug causing audits with constantly changing tokens to fail.
55
+ - Updated to use `#each_mutation` instead of `#mutations`.
56
+ - `Element::Capabilities::Mutable`
57
+ - Added `#each_mutation` to generate mutations on the fly instead of relying
58
+ on `#mutations` to generate an array of mutations.
59
+ - Updated `#mutations` to delegate to `#each_mutation`.
60
+ - `Element::Cookie#encode`
61
+ - Allow `=` to remain un-encoded in the cookie value.
62
+ - `Element::Form` -- Buttons are now treated as inputs as well.
63
+ - `Options#load` -- Updated to support serialized `Hash` objects.
64
+ - Added `Support::Signature` -- Signature class used to generate and refine signatures
65
+ from `String` objects.
66
+ - Modules
67
+ - Audit
68
+ - `path_traversal` -- Updated to use double-slashes for *nix payloads.
69
+ - `file_inclusion` -- Added evasive payloads using '\'.
70
+ - `source_code_disclosure`
71
+ - Increased coverage by following the directory tree of each file one
72
+ level at a time.
73
+ - `xss_script_tag` -- Updated to check for the existence of encoding operations.
74
+ - `sqli`
75
+ - Updated to cache the compiled regular expressions.
76
+ - Updated to use the longest-word-optimization of the taint analysis
77
+ implementation for faster analysis.
78
+ - `sqli_blind_rdiff`
79
+ - Massively reduced injected payloads.
80
+ - `os_cmd_injection_timing` -- Decreased the time delay.
81
+ - Recon
82
+ - `localstart_asp`
83
+ - Check for an ASP platform instead of a Windows one.
84
+ - Fixed `LocalJumpError`.
85
+ - Plugins
86
+ - `autologin`
87
+ - Changed `print_bad` to `print_error` so that errors are written to the
88
+ error log.
89
+ - Scan remains paused and awaits user action upon failure.
90
+ - `proxy`
91
+ - Updated request URL encoding to handle malformed URLs.
92
+ - Disabled reverse DNS lookup on requests to increase performance.
93
+ - `content_types` -- Moved out of `defaults/'.
94
+ - `cookie_collector`
95
+ - Added `filter` option used to determine which cookies to log based on
96
+ a pattern matched against cookie names.
97
+ - Reports -- Added `content_type` to all reports with `outfile` option in `.info`.
98
+ - `xml` -- Escaped parameter values in XML report.
99
+
3
100
  ## 0.4.5.2 _(September 18, 2013)_
4
101
 
5
102
  - `gemspec`
data/CONTRIBUTORS.md CHANGED
@@ -15,6 +15,7 @@ suggestions or testing it.
15
15
  - [Evan Beard](mailto:beard.evan@gmail.com) for feedback and patches.
16
16
  - [Michael Borohovski](mailto:borski@mit.edu) for testing, feedback and patches.
17
17
  - [Ben Sedat](mailto:bsedat@alum.mit.edu) for testing, feedback and patches.
18
+ - [Michiel van Es](mailto:mve@pragmasec.nl) for relentless testing and feedback.
18
19
 
19
20
  A big thanks to my buddy [Andreas](mailto:rainmakergr@gmail.com) for the original
20
21
  spider drawing used in the project graphics.
data/NOTICE CHANGED
@@ -1,5 +1,5 @@
1
1
  Arachni Web Application Security Scanner Framework
2
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
2
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
3
3
 
4
4
  This product includes code from the Arachni Web Application Security Scanner Framework
5
5
  developed by Tasos Laskos <tasos.laskos@gmail.com>.
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  <table>
4
4
  <tr>
5
5
  <th>Version</th>
6
- <td>0.4.5.2</td>
6
+ <td>0.4.6</td>
7
7
  </tr>
8
8
  <tr>
9
9
  <th>Homepage</th>
@@ -38,7 +38,7 @@
38
38
  </tr>
39
39
  <tr>
40
40
  <th>Copyright</th>
41
- <td>2010-2013 Tasos Laskos</td>
41
+ <td>2010-2014 Tasos Laskos</td>
42
42
  </tr>
43
43
  <tr>
44
44
  <th>License</th>
@@ -403,6 +403,8 @@ core remains lean and makes it easy for anyone to add arbitrary functionality.
403
403
  - Script (`script`) -- Loads and runs an external Ruby script under the scope of a plugin,
404
404
  used for debugging and general hackery.
405
405
  - Uncommon headers (`uncommon_headers`) -- Logs uncommon headers.
406
+ - Content-types (`content_types`) -- Logs content-types of server responses aiding in the
407
+ identification of interesting (possibly leaked) files.
406
408
 
407
409
  #### Defaults
408
410
 
@@ -410,8 +412,6 @@ Default plugins will run for every scan and are placed under `/plugins/defaults/
410
412
 
411
413
  - AutoThrottle (`autothrottle`) -- Dynamically adjusts HTTP throughput during the scan for
412
414
  maximum bandwidth utilization.
413
- - Content-types (`content_types`) -- Logs content-types of server responses aiding in the
414
- identification of interesting (possibly leaked) files.
415
415
  - Healthmap (`healthmap`) -- Generates sitemap showing the health of each crawled/audited URL
416
416
  - Resolver (`resolver`) -- Resolves vulnerable hostnames to IP addresses.
417
417
 
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  =begin
2
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
2
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
3
3
 
4
4
  Licensed under the Apache License, Version 2.0 (the "License");
5
5
  you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
15
15
  =end
16
16
 
17
17
  require 'bundler'
18
+ require 'fileutils'
18
19
  require File.expand_path( File.dirname( __FILE__ ) ) + '/lib/arachni'
19
20
 
20
21
  begin
@@ -22,27 +23,116 @@ begin
22
23
  require 'rspec/core/rake_task'
23
24
 
24
25
  namespace :spec do
26
+
27
+ desc 'Run core library tests.'
25
28
  RSpec::Core::RakeTask.new( :core ) do |t|
26
- t.pattern = FileList[ "spec/arachni/**/*_spec.rb" ]
29
+ t.pattern = FileList[ 'spec/arachni/**/*_spec.rb' ]
27
30
  end
28
31
 
32
+ desc 'Run module tests.'
29
33
  RSpec::Core::RakeTask.new( :modules ) do |t|
30
- t.pattern = FileList[ "spec/modules/**/*_spec.rb" ]
34
+ t.pattern = FileList[ 'spec/modules/**/*_spec.rb' ]
35
+ end
36
+
37
+ namespace :modules do
38
+ desc 'Run tests for the audit modules.'
39
+ RSpec::Core::RakeTask.new( :audit ) do |t|
40
+ t.pattern = FileList[ 'spec/modules/audit/**/*_spec.rb' ]
41
+ end
42
+
43
+ desc 'Run tests for the recon modules.'
44
+ RSpec::Core::RakeTask.new( :recon ) do |t|
45
+ t.pattern = FileList[ 'spec/modules/recon/**/*_spec.rb' ]
46
+ end
31
47
  end
32
48
 
49
+ desc 'Run report tests.'
33
50
  RSpec::Core::RakeTask.new( :reports ) do |t|
34
- t.pattern = FileList[ "spec/reports/**/*_spec.rb" ]
51
+ t.pattern = FileList[ 'spec/reports/**/*_spec.rb' ]
35
52
  end
36
53
 
54
+ desc 'Run plugin tests.'
37
55
  RSpec::Core::RakeTask.new( :plugins ) do |t|
38
- t.pattern = FileList[ "spec/plugins/**/*_spec.rb" ]
56
+ t.pattern = FileList[ 'spec/plugins/**/*_spec.rb' ]
39
57
  end
40
58
 
59
+ desc 'Run path-extractor tests.'
41
60
  RSpec::Core::RakeTask.new( :path_extractors ) do |t|
42
- t.pattern = FileList[ "spec/path_extractors/**/*_spec.rb" ]
61
+ t.pattern = FileList[ 'spec/path_extractors/**/*_spec.rb' ]
62
+ end
63
+
64
+ desc 'Run external test suites.'
65
+ RSpec::Core::RakeTask.new( :external ) do |t|
66
+ t.pattern = FileList[ 'spec/external/**/*_spec.rb' ]
67
+ end
68
+
69
+ namespace :external do
70
+
71
+ desc 'Run the WAVSEP test suite.'
72
+ RSpec::Core::RakeTask.new( :wavsep ) do |t|
73
+ t.pattern = FileList[ 'spec/external/wavsep/**/**/*_spec.rb' ]
74
+ end
75
+
76
+ namespace :wavsep do
77
+
78
+ desc 'Run the WAVSEP active tests.'
79
+ RSpec::Core::RakeTask.new( :active ) do |t|
80
+ t.pattern = FileList[ 'spec/external/wavsep/active/**/*_spec.rb' ]
81
+ end
82
+
83
+ namespace :active do
84
+
85
+ desc 'Run the WAVSEP XSS tests.'
86
+ RSpec::Core::RakeTask.new( :xss ) do |t|
87
+ t.pattern = FileList[ 'spec/external/wavsep/active/xss_spec.rb' ]
88
+ end
89
+
90
+ desc 'Run the WAVSEP SQL injection tests.'
91
+ RSpec::Core::RakeTask.new( :sqli ) do |t|
92
+ t.pattern = FileList[ 'spec/external/wavsep/active/sqli_spec.rb' ]
93
+ end
94
+
95
+ desc 'Run the WAVSEP LFI tests.'
96
+ RSpec::Core::RakeTask.new( :lfi ) do |t|
97
+ t.pattern = FileList[ 'spec/external/wavsep/active/lfi_spec.rb' ]
98
+ end
99
+
100
+ desc 'Run the WAVSEP RFI tests.'
101
+ RSpec::Core::RakeTask.new( :rfi ) do |t|
102
+ t.pattern = FileList[ 'spec/external/wavsep/active/rfi_spec.rb' ]
103
+ end
104
+ end
105
+
106
+ desc 'Run the WAVSEP false positive tests.'
107
+ RSpec::Core::RakeTask.new( :false_positives ) do |t|
108
+ t.pattern = FileList[ 'spec/external/wavsep/false_positives/**/*_spec.rb' ]
109
+ end
110
+
111
+ namespace :false_positives do
112
+ desc 'Run the WAVSEP XSS false positive tests.'
113
+ RSpec::Core::RakeTask.new( :xss ) do |t|
114
+ t.pattern = FileList[ 'spec/external/wavsep/false_positives/xss_spec.rb' ]
115
+ end
116
+
117
+ desc 'Run the WAVSEP SQL injection false positive tests.'
118
+ RSpec::Core::RakeTask.new( :sqli ) do |t|
119
+ t.pattern = FileList[ 'spec/external/wavsep/false_positives/sqli_spec.rb' ]
120
+ end
121
+
122
+ desc 'Run the WAVSEP LFI false positive tests.'
123
+ RSpec::Core::RakeTask.new( :lfi ) do |t|
124
+ t.pattern = FileList[ 'spec/external/wavsep/false_positives/lfi_spec.rb' ]
125
+ end
126
+
127
+ desc 'Run the WAVSEP RFI false positive tests.'
128
+ RSpec::Core::RakeTask.new( :rfi ) do |t|
129
+ t.pattern = FileList[ 'spec/external/wavsep/false_positives/rfi_spec.rb' ]
130
+ end
131
+ end
132
+ end
43
133
  end
44
134
 
45
- desc "Generate an AFR report for the report tests"
135
+ desc 'Generate an AFR report for the report tests.'
46
136
  namespace :generate do
47
137
  task :afr do
48
138
 
@@ -78,7 +168,7 @@ begin
78
168
  Arachni::Framework.new.modules.load_all
79
169
 
80
170
  Arachni::AuditStore.new( issues: issues.uniq ).
81
- save( 'spec/fixtures/auditstore.afr' )
171
+ save( 'spec/support/fixtures/auditstore.afr' )
82
172
 
83
173
  Arachni::Options.reset
84
174
  end
@@ -91,7 +181,7 @@ rescue LoadError
91
181
  puts ' gem install rspec'
92
182
  end
93
183
 
94
- desc "Generate docs"
184
+ desc 'Generate docs.'
95
185
  task :docs do
96
186
 
97
187
  outdir = "../arachni-docs"
@@ -103,7 +193,7 @@ task :docs do
103
193
  sh "rm -rf .yardoc"
104
194
  end
105
195
 
106
- desc "Generate graphics"
196
+ desc 'Generate graphics.'
107
197
  task :gfx do
108
198
 
109
199
  outdir = 'gfx/compiled'
@@ -129,7 +219,7 @@ end
129
219
  #
130
220
  # [1] https://github.com/tmm1/perftools.rb
131
221
  #
132
- desc "Profile Arachni"
222
+ desc 'Profile Arachni.'
133
223
  task :profile do
134
224
 
135
225
  if !Gem::Specification.find_all_by_name( 'perftools.rb' ).empty?
@@ -144,27 +234,22 @@ task :profile do
144
234
 
145
235
  end
146
236
 
147
- #
148
- # Cleans reports and logs
149
- #
150
- desc "Cleaning report and log files."
237
+ desc 'Remove report and log files.'
151
238
  task :clean do
239
+ files = %w(error.log *.afr *.yaml *.json *.marshal *.gem pkg/*.gem logs/*.log
240
+ spec/support/logs/*.log).map { |file| Dir.glob( file ) }.flatten
152
241
 
153
- sh "rm error.log || true"
154
- sh "rm *.afr || true"
155
- sh "rm *.yaml || true"
156
- sh "rm *.json || true"
157
- sh "rm *.marshal || true"
158
- sh "rm *.gem || true"
159
- sh "rm logs/*.log || true"
160
- sh "rm spec/support/logs/*.log || true"
161
- end
242
+ next if files.empty?
162
243
 
244
+ puts 'Removing:'
245
+ files.each { |file| puts " * #{file}" }
246
+ FileUtils.rm files
247
+ end
163
248
 
164
249
  Bundler::GemHelper.install_tasks
165
250
 
166
- desc "Push a new version to RubyGems"
251
+ desc 'Push a new version to RubyGems'
167
252
  task :publish => [ :release ]
168
253
 
169
- desc "Build Arachni and run all the tests."
254
+ desc 'Build Arachni and run all the tests.'
170
255
  task :default => [ :build, :spec ]
data/arachni.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
  =begin
3
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
3
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.
@@ -114,7 +114,7 @@ GitHub page - http://github.com/Arachni/arachni
114
114
  Code Documentation - http://rubydoc.info/github/Arachni/arachni
115
115
  Author - Tasos "Zapotek" Laskos (http://twitter.com/Zap0tek)
116
116
  Twitter - http://twitter.com/ArachniScanner
117
- Copyright - 2010-2013 Tasos Laskos
117
+ Copyright - 2010-2014 Tasos Laskos
118
118
  License - Apache License v2
119
119
 
120
120
  Please do not hesitate to ask for assistance (via the support portal)
data/bin/arachni CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin
3
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
3
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.
data/bin/arachni_console CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin
3
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
3
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.
data/bin/arachni_multi CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin
3
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
3
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.
data/bin/arachni_rpc CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin
3
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
3
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.
data/bin/arachni_rpcd CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin
3
- Copyright 2010-2013 Tasos Laskos <tasos.laskos@gmail.com>
3
+ Copyright 2010-2014 Tasos Laskos <tasos.laskos@gmail.com>
4
4
 
5
5
  Licensed under the Apache License, Version 2.0 (the "License");
6
6
  you may not use this file except in compliance with the License.