dded Jenkins vulnerability scanner
Minor Changes

changed print calls to print_line
removed trailing \n's
used default timeout for send_request_cgi
Used default timeout

forgot an additional default timeout in my previous commit
add radware_appdirector_enum

This module scans for Radware AppDirector's web login portal, and performs login brute force to identify valid credentials.

- mstidy.tb & retab.rb run done
- stop_on_success is set to true. Important, otherwise the app starts dropping bf source.
- slowing down brute force speed seems to work though, but can take a long time if more creds to check &| more targets
- better to run bf with 2-3 creds against range, & then come back with more creds if needed
changed default options

Updated these default options to false:
      'DB_ALL_CREDS'    => false
      'BLANK_PASSWORDS' => false
Use Fivemat formatting for rspec

Makes the whole thing more pleasant to look at:

````
$ FIVEMAT_PROFILE=1 rake spec
Connecting to database specified by
/home/todb/git/rapid7/metasploit-framework/config/database.yml
NOTICE:  CREATE TABLE will create implicit sequence "api_keys_id_seq"
for serial column "api_keys.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"api_keys_pkey" for table "api_keys"
NOTICE:  CREATE TABLE will create implicit sequence "clients_id_seq" for
serial column "clients.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"clients_pkey" for table "clients"
NOTICE:  CREATE TABLE will create implicit sequence "creds_id_seq" for
serial column "creds.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"creds_pkey" for table "creds"
NOTICE:  CREATE TABLE will create implicit sequence "events_id_seq" for
serial column "events.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"events_pkey" for table "events"
NOTICE:  CREATE TABLE will create implicit sequence
"exploit_attempts_id_seq" for serial column "exploit_attempts.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"exploit_attempts_pkey" for table "exploit_attempts"
NOTICE:  CREATE TABLE will create implicit sequence
"exploited_hosts_id_seq" for serial column "exploited_hosts.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"exploited_hosts_pkey" for table "exploited_hosts"
NOTICE:  CREATE TABLE will create implicit sequence
"host_details_id_seq" for serial column "host_details.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"host_details_pkey" for table "host_details"
NOTICE:  CREATE TABLE will create implicit sequence "hosts_id_seq" for
serial column "hosts.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"hosts_pkey" for table "hosts"
NOTICE:  CREATE TABLE will create implicit sequence "hosts_tags_id_seq"
for serial column "hosts_tags.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"hosts_tags_pkey" for table "hosts_tags"
NOTICE:  CREATE TABLE will create implicit sequence "listeners_id_seq"
for serial column "listeners.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"listeners_pkey" for table "listeners"
NOTICE:  CREATE TABLE will create implicit sequence "loots_id_seq" for
serial column "loots.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"loots_pkey" for table "loots"
NOTICE:  CREATE TABLE will create implicit sequence "macros_id_seq" for
serial column "macros.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"macros_pkey" for table "macros"
NOTICE:  CREATE TABLE will create implicit sequence "mod_refs_id_seq"
for serial column "mod_refs.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"mod_refs_pkey" for table "mod_refs"
NOTICE:  CREATE TABLE will create implicit sequence
"module_actions_id_seq" for serial column "module_actions.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_actions_pkey" for table "module_actions"
NOTICE:  CREATE TABLE will create implicit sequence
"module_archs_id_seq" for serial column "module_archs.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_archs_pkey" for table "module_archs"
NOTICE:  CREATE TABLE will create implicit sequence
"module_authors_id_seq" for serial column "module_authors.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_authors_pkey" for table "module_authors"
NOTICE:  CREATE TABLE will create implicit sequence
"module_details_id_seq" for serial column "module_details.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_details_pkey" for table "module_details"
NOTICE:  CREATE TABLE will create implicit sequence
"module_mixins_id_seq" for serial column "module_mixins.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_mixins_pkey" for table "module_mixins"
NOTICE:  CREATE TABLE will create implicit sequence
"module_platforms_id_seq" for serial column "module_platforms.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_platforms_pkey" for table "module_platforms"
NOTICE:  CREATE TABLE will create implicit sequence "module_refs_id_seq"
for serial column "module_refs.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_refs_pkey" for table "module_refs"
NOTICE:  CREATE TABLE will create implicit sequence
"module_targets_id_seq" for serial column "module_targets.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"module_targets_pkey" for table "module_targets"
NOTICE:  CREATE TABLE will create implicit sequence
"nexpose_consoles_id_seq" for serial column "nexpose_consoles.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"nexpose_consoles_pkey" for table "nexpose_consoles"
NOTICE:  CREATE TABLE will create implicit sequence "notes_id_seq" for
serial column "notes.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"notes_pkey" for table "notes"
NOTICE:  CREATE TABLE will create implicit sequence "profiles_id_seq"
for serial column "profiles.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"profiles_pkey" for table "profiles"
NOTICE:  CREATE TABLE will create implicit sequence "refs_id_seq" for
serial column "refs.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"refs_pkey" for table "refs"
NOTICE:  CREATE TABLE will create implicit sequence
"report_templates_id_seq" for serial column "report_templates.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"report_templates_pkey" for table "report_templates"
NOTICE:  CREATE TABLE will create implicit sequence "reports_id_seq" for
serial column "reports.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"reports_pkey" for table "reports"
NOTICE:  CREATE TABLE will create implicit sequence "routes_id_seq" for
serial column "routes.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"routes_pkey" for table "routes"
NOTICE:  CREATE TABLE will create implicit sequence "services_id_seq"
for serial column "services.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"services_pkey" for table "services"
NOTICE:  CREATE TABLE will create implicit sequence
"session_events_id_seq" for serial column "session_events.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"session_events_pkey" for table "session_events"
NOTICE:  CREATE TABLE will create implicit sequence "sessions_id_seq"
for serial column "sessions.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"sessions_pkey" for table "sessions"
NOTICE:  CREATE TABLE will create implicit sequence "tags_id_seq" for
serial column "tags.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"tags_pkey" for table "tags"
NOTICE:  CREATE TABLE will create implicit sequence "task_creds_id_seq"
for serial column "task_creds.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"task_creds_pkey" for table "task_creds"
NOTICE:  CREATE TABLE will create implicit sequence "task_hosts_id_seq"
for serial column "task_hosts.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"task_hosts_pkey" for table "task_hosts"
NOTICE:  CREATE TABLE will create implicit sequence
"task_services_id_seq" for serial column "task_services.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"task_services_pkey" for table "task_services"
NOTICE:  CREATE TABLE will create implicit sequence
"task_sessions_id_seq" for serial column "task_sessions.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"task_sessions_pkey" for table "task_sessions"
NOTICE:  CREATE TABLE will create implicit sequence "tasks_id_seq" for
serial column "tasks.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"tasks_pkey" for table "tasks"
NOTICE:  CREATE TABLE will create implicit sequence "users_id_seq" for
serial column "users.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"users_pkey" for table "users"
NOTICE:  CREATE TABLE will create implicit sequence
"vuln_attempts_id_seq" for serial column "vuln_attempts.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"vuln_attempts_pkey" for table "vuln_attempts"
NOTICE:  CREATE TABLE will create implicit sequence
"vuln_details_id_seq" for serial column "vuln_details.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"vuln_details_pkey" for table "vuln_details"
NOTICE:  CREATE TABLE will create implicit sequence "vulns_id_seq" for
serial column "vulns.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"vulns_pkey" for table "vulns"
NOTICE:  CREATE TABLE will create implicit sequence "vulns_refs_id_seq"
for serial column "vulns_refs.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"vulns_refs_pkey" for table "vulns_refs"
NOTICE:  CREATE TABLE will create implicit sequence "web_forms_id_seq"
for serial column "web_forms.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"web_forms_pkey" for table "web_forms"
NOTICE:  CREATE TABLE will create implicit sequence "web_pages_id_seq"
for serial column "web_pages.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"web_pages_pkey" for table "web_pages"
NOTICE:  CREATE TABLE will create implicit sequence "web_sites_id_seq"
for serial column "web_sites.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"web_sites_pkey" for table "web_sites"
NOTICE:  CREATE TABLE will create implicit sequence "web_vulns_id_seq"
for serial column "web_vulns.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"web_vulns_pkey" for table "web_vulns"
NOTICE:  CREATE TABLE will create implicit sequence
"wmap_requests_id_seq" for serial column "wmap_requests.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"wmap_requests_pkey" for table "wmap_requests"
NOTICE:  CREATE TABLE will create implicit sequence
"wmap_targets_id_seq" for serial column "wmap_targets.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"wmap_targets_pkey" for table "wmap_targets"
NOTICE:  CREATE TABLE will create implicit sequence "workspaces_id_seq"
for serial column "workspaces.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"workspaces_pkey" for table "workspaces"
/home/todb/.rvm/rubies/ruby-1.9.3-p448/bin/ruby -S rspec
./spec/lib/active_record/connection_adapters/abstract_adapter/connection_pool_spec.rb
./spec/lib/fastlib_spec.rb ./spec/lib/msf/base/simple/framework_spec.rb
./spec/lib/msf/core/data_store_spec.rb
./spec/lib/msf/core/exe/segment_injector_spec.rb
./spec/lib/msf/core/exploit/capture_spec.rb
./spec/lib/msf/core/exploit/http/client_spec.rb
./spec/lib/msf/core/exploit/http/server_spec.rb
./spec/lib/msf/core/module_manager_spec.rb
./spec/lib/msf/core/module_spec.rb
./spec/lib/msf/core/modules/error_spec.rb
./spec/lib/msf/core/modules/loader/archive_spec.rb
./spec/lib/msf/core/modules/loader/base_spec.rb
./spec/lib/msf/core/modules/loader/directory_spec.rb
./spec/lib/msf/core/modules/metasploit_class_compatibility_error_spec.rb
./spec/lib/msf/core/modules/namespace_spec.rb
./spec/lib/msf/core/modules/version_compatibility_error_spec.rb
./spec/lib/msf/core/option_container_spec.rb
./spec/lib/msf/core/options/opt_address_range_spec.rb
./spec/lib/msf/core/options/opt_address_spec.rb
./spec/lib/msf/core/options/opt_bool_spec.rb
./spec/lib/msf/core/options/opt_enum_spec.rb
./spec/lib/msf/core/options/opt_int_spec.rb
./spec/lib/msf/core/options/opt_path_spec.rb
./spec/lib/msf/core/options/opt_port_spec.rb
./spec/lib/msf/core/options/opt_raw_spec.rb
./spec/lib/msf/core/options/opt_regexp_spec.rb
./spec/lib/msf/core/task_manager_spec.rb
./spec/lib/msf/db_manager/export_spec.rb
./spec/lib/msf/db_manager_spec.rb
./spec/lib/msf/ui/command_dispatcher/auxiliary_spec.rb
./spec/lib/msf/ui/command_dispatcher/core_spec.rb
./spec/lib/msf/ui/command_dispatcher/db_spec.rb
./spec/lib/msf/ui/command_dispatcher/exploit_spec.rb
./spec/lib/msf/util/exe_spec.rb ./spec/lib/rex/encoding/xor/byte_spec.rb
./spec/lib/rex/encoding/xor/dword_spec.rb
./spec/lib/rex/encoding/xor/qword_spec.rb
./spec/lib/rex/encoding/xor/word_spec.rb
./spec/lib/rex/exploitation/ropdb_spec.rb
./spec/lib/rex/file_utils_spec.rb ./spec/lib/rex/parser/nmap_xml_spec.rb
./spec/lib/rex/parser/unattend_spec.rb
./spec/lib/rex/post/meterpreter/packet_parser_spec.rb
./spec/lib/rex/post/meterpreter/packet_spec.rb
./spec/lib/rex/proto/http/client_request_spec.rb
./spec/lib/rex/proto/http/client_spec.rb
./spec/lib/rex/proto/http/response_spec.rb
./spec/lib/rex/random_identifier_generator_spec.rb
./spec/lib/rex/socket/range_walker_spec.rb
./spec/lib/rex/sslscan/result_spec.rb
./spec/lib/rex/sslscan/scanner_spec.rb ./spec/lib/rex/text_spec.rb
./spec/msfcli_spec.rb ./spec/msfvenom_spec.rb
ActiveRecord::ConnectionAdapters::ConnectionPool ............ (0.38s)
FastLib .....*.....**.. (0.07s)
Msf::Simple::Framework ..... (0.14s)
Msf::DataStore ............ (0.0s)
Msf::Exe::SegmentInjector ................. (1.75s)
Msf::Exploit::Capture ..****... (0.0s)
Msf::Exploit::Remote::HttpClient ........................ (0.0s)
Msf::Exploit::Remote::HttpServer ...... (0.01s)
Msf::ModuleManager .....................................................
(4.39s)
Msf::Module
.............................................................................................................................................................................................................................................
(0.19s)
Msf::Modules::Error ......... (0.0s)
Msf::Modules::Loader::Archive ............... (0.07s)
Msf::Modules::Loader::Base
..................................................................................................../home/todb/git/rapid7/metasploit-framework/lib/msf/core/modules/loader/base.rb:599:
warning: already initialized constant Mod0
........ (0.15s)
Msf::Modules::Loader::Directory ......... (0.02s)
Msf::Modules::MetasploitClassCompatibilityError ... (0.0s)
Msf::Modules::Namespace ........................................ (0.01s)
Msf::Modules::VersionCompatibilityError ......... (0.0s)
Msf::OptionContainer . (0.0s)
Msf::OptAddressRange ............................ (0.01s)
Msf::OptAddress .............. (0.09s)
Msf::OptBool ............ (0.0s)
Msf::OptEnum ..... (0.0s)
Msf::OptInt ............... (0.0s)
Msf::OptPath ......... (0.0s)
Msf::OptPort .......... (0.0s)
Msf::OptRaw ..... (0.0s)
Msf::OptRegexp ...... (0.0s)
Msf::TaskManager ....... (1.17s)
Msf::DBManager::Export ........................ (9.84s)
Msf::DBManager
.....................................................................................................................................................................................................................................................
(92.63s)
Msf::Ui::Console::CommandDispatcher::Core ...... (4.19s)
Msf::Ui::Console::CommandDispatcher::Db ....*......** (3.76s)
Msf::Util::EXE
...........................................................................................................
(10.14s)
Rex::Encoding::Xor::Byte .. (0.06s)
Rex::Encoding::Xor::Dword ... (0.01s)
Rex::Encoding::Xor::Qword ... (0.02s)
Rex::Encoding::Xor::Word ... (0.0s)
Rex::Exploitation::RopDb .............. (0.11s)
Rex::FileUtils .......... (0.0s)
Rex::Parser::NmapXMLStreamParser .... (0.0s)
Rex::Parser::Unattend .... (0.03s)
Rex::Post::Meterpreter::PacketParser .. (0.0s)
Rex::Post::Meterpreter::Tlv ..................... (0.0s)
Rex::Post::Meterpreter::GroupTlv
....................***................... (0.0s)
Rex::Post::Meterpreter::Packet .................... (0.0s)
Rex::Proto::Http::ClientRequest ............................ (0.01s)
Rex::Proto::Http::Client ......*****.***......... (0.0s)
Rex::Proto::Http::Response ..... (0.0s)
Rex::RandomIdentifierGenerator .................. (0.14s)
Rex::Socket::RangeWalker ............. (0.23s)
Rex::SSLScan::Result
.....................................................................................
(0.44s)
Rex::SSLScan::Scanner .................... (26.91s)
Rex::Text ........ (0.01s)
Msfcli ...................................... (57.47s)
MsfVenom
..............................................................................................
(26.44s)

Pending:
  FastLib class methods dump without compression and without encryption
cache Fix https://www.pivotaltracker.com/story/show/38730815
    # No reason given
    # ./spec/lib/fastlib_spec.rb:94
  FastLib class methods list with cached dump should have dump cached
    # Fix https://www.pivotaltracker.com/story/show/38730815
    # ./spec/lib/fastlib_spec.rb:202
  FastLib class methods list with cached dump should list archived paths
    # Fix https://www.pivotaltracker.com/story/show/38730815
    # ./spec/lib/fastlib_spec.rb:206
  Msf::Exploit::Capture should confirm that pcaprub is available
    # Need to test this without stubbing check_pcaprub_loaded
    # ./spec/lib/msf/core/exploit/capture_spec.rb:40
  Msf::Exploit::Capture should open a pcap file
    # Provde a sample pcap file to read
    # ./spec/lib/msf/core/exploit/capture_spec.rb:43
  Msf::Exploit::Capture should capture from an iface
    # Mock this? Tends to need root
    # ./spec/lib/msf/core/exploit/capture_spec.rb:46
  Msf::Exploit::Capture should inject packets to an ifrace
    # Mock this? Tends to need root
    # ./spec/lib/msf/core/exploit/capture_spec.rb:49
  Msf::Ui::Console::CommandDispatcher::Db#cmd_services -np should list
services that are not on a given port
    # refs redmine ticket #4821
    # ./spec/lib/msf/ui/command_dispatcher/db_spec.rb:100
  Msf::Ui::Console::CommandDispatcher::Db#db_nmap should have some specs
describing its output
    # Not yet implemented
    # ./spec/lib/msf/ui/command_dispatcher/db_spec.rb:261
  Msf::Ui::Console::CommandDispatcher::Db#db_rebuild_cache should have
some specs describing its output
    # Not yet implemented
    # ./spec/lib/msf/ui/command_dispatcher/db_spec.rb:265
  Rex::Post::Meterpreter::GroupTlv#add_tlvs should raise an error when
given something other than nil or an array
    # RM #7598
    # ./spec/lib/rex/post/meterpreter/packet_spec.rb:232
  Rex::Post::Meterpreter::GroupTlv#add_tlvs should raise an error when
given an array of objects other than hashes
    # RM #7598
    # ./spec/lib/rex/post/meterpreter/packet_spec.rb:237
  Rex::Post::Meterpreter::GroupTlv#add_tlvs should raise an error when
any of the hashes are missing a key
    # RM #7598
    # ./spec/lib/rex/post/meterpreter/packet_spec.rb:242
  Rex::Proto::Http::Client should send a request and receive a response
    # need to actually set up an HTTP server to test
    # ./spec/lib/rex/proto/http/client_spec.rb:149
  Rex::Proto::Http::Client should send a request and receive a response
without auth handling
    # need to actually set up an HTTP server to test
    # ./spec/lib/rex/proto/http/client_spec.rb:153
  Rex::Proto::Http::Client should send a request
    # need to actually set up an HTTP server to test
    # ./spec/lib/rex/proto/http/client_spec.rb:157
  Rex::Proto::Http::Client should test for credentials
    # Should actually respond to :has_creds
    # ./spec/lib/rex/proto/http/client_spec.rb:161
  Rex::Proto::Http::Client should send authentication
    # Not yet implemented
    # ./spec/lib/rex/proto/http/client_spec.rb:169
  Rex::Proto::Http::Client should perform digest authentication
    # need to set up an HTTP authentication challenger
    # ./spec/lib/rex/proto/http/client_spec.rb:178
  Rex::Proto::Http::Client should perform negotiate authentication
    # need to set up an HTTP authentication challenger
    # ./spec/lib/rex/proto/http/client_spec.rb:182
  Rex::Proto::Http::Client should get a response
    # need to actually set up an HTTP server to test
    # ./spec/lib/rex/proto/http/client_spec.rb:186
````
Updated code

msftidy compliant now. Have run it thru retab.rb, hence the indent like this.
Added ext .rb

... ext .rb why you no save.
Move all exploitation-related JavaScript to their new home
Cleaning up requires
I bet "../" will drive people crazy, avoid that.
Cache Javascript
Use obfuscation
Add rspec files to make sure the javascript files are loadable.
Fix extra slashes that cause browser autopwn to fail.
Fix mstime_malloc.js
Update property_spray.js
Make sure the data type for the return value is a string
Change category name for base64
Use data_directory instead of install_root