better ubuntu version check
This commit is contained in:
@@ -69,11 +69,7 @@ class Metasploit3 < Msf::Exploit::Remote
|
||||
vprint_status("Found PHP version: #{php_version}")
|
||||
|
||||
version = Gem::Version.new(php_version)
|
||||
|
||||
vulnerable = false
|
||||
vulnerable = true if version <= Gem::Version.new('5.4.44')
|
||||
vulnerable = true if version.between?(Gem::Version.new('5.5.0'), Gem::Version.new('5.5.28'))
|
||||
vulnerable = true if version.between?(Gem::Version.new('5.6.0'), Gem::Version.new('5.6.12'))
|
||||
|
||||
# check for ubuntu specific versions. Was fixed in
|
||||
# * 5.5.9+dfsg-1ubuntu4.13
|
||||
@@ -85,13 +81,19 @@ class Metasploit3 < Msf::Exploit::Remote
|
||||
sub_version = rest.scan(/^\dubuntu([\d\.]+)/i).flatten.first || ''
|
||||
vprint_status("Found Ubuntu PHP version: #{php_version}-#{sub_version}")
|
||||
|
||||
if version == Gem::Version.new('5.5.9') && Gem::Version.new(sub_version) < Gem::Version.new(4.13)
|
||||
vulnerable = true
|
||||
elsif version == Gem::Version.new('5.3.10') && Gem::Version.new(sub_version) < Gem::Version.new(3.20)
|
||||
vulnerable = true
|
||||
else
|
||||
if version > Gem::Version.new('5.5.9')
|
||||
vulnerable = false
|
||||
elsif version == Gem::Version.new('5.5.9') && Gem::Version.new(sub_version) >= Gem::Version.new('4.13')
|
||||
vulnerable = false
|
||||
elsif version == Gem::Version.new('5.3.10') && Gem::Version.new(sub_version) >= Gem::Version.new('3.20')
|
||||
vulnerable = false
|
||||
else
|
||||
vulnerable = true
|
||||
end
|
||||
else
|
||||
vulnerable = true if version <= Gem::Version.new('5.4.44')
|
||||
vulnerable = true if version.between?(Gem::Version.new('5.5.0'), Gem::Version.new('5.5.28'))
|
||||
vulnerable = true if version.between?(Gem::Version.new('5.6.0'), Gem::Version.new('5.6.12'))
|
||||
end
|
||||
|
||||
unless vulnerable
|
||||
|
||||
Reference in New Issue
Block a user