Skip to content

Commit 8024533

Browse files
committed
More readable check functions
1 parent 7458a2d commit 8024533

File tree

3 files changed

+33
-24
lines changed

3 files changed

+33
-24
lines changed

modules/exploits/multi/http/spip_connect_exec.rb

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,19 @@ def check
8282

8383
print_status("SPIP Version detected: #{rversion}")
8484

85-
if rversion.between?(Rex::Version.new('2.0.0'), Rex::Version.new('2.0.20'))
86-
return Exploit::CheckCode::Appears
87-
elsif rversion.between?(Rex::Version.new('2.1.0'), Rex::Version.new('2.1.15'))
88-
return Exploit::CheckCode::Appears
89-
elsif rversion.between?(Rex::Version.new('3.0.0'), Rex::Version.new('3.0.2'))
90-
return Exploit::CheckCode::Appears
85+
vulnerable_ranges = [
86+
{ start: '2.0.0', end: '2.0.20' },
87+
{ start: '2.1.0', end: '2.1.15' },
88+
{ start: '3.0.0', end: '3.0.2' }
89+
]
90+
91+
vulnerable_ranges.each do |range|
92+
if rversion.between?(Rex::Version.new(range[:start]), Rex::Version.new(range[:end]))
93+
return Exploit::CheckCode::Appears
94+
end
9195
end
9296

93-
return Exploit::CheckCode::Safe
97+
Exploit::CheckCode::Safe
9498
end
9599

96100
def php_exec_cmd(encoded_payload)

modules/exploits/multi/http/spip_porte_plume_previsu_rce.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,16 @@ def check
7777

7878
print_status("SPIP Version detected: #{rversion}")
7979

80-
if rversion >= Rex::Version.new('4.3.0-alpha2')
81-
return CheckCode::Safe("The detected SPIP version (#{rversion}) is not vulnerable.")
82-
elsif rversion.between?(Rex::Version.new('4.2.0'), Rex::Version.new('4.2.12'))
83-
return Exploit::CheckCode::Appears("The detected SPIP version (#{rversion}) is vulnerable.")
84-
elsif rversion.between?(Rex::Version.new('4.1.0'), Rex::Version.new('4.1.15'))
85-
return Exploit::CheckCode::Appears("The detected SPIP version (#{rversion}) is vulnerable.")
86-
elsif rversion < Rex::Version.new('4.1.0')
87-
return Exploit::CheckCode::Appears("The detected SPIP version (#{rversion}) is vulnerable.")
80+
vulnerable_ranges = [
81+
{ start: Rex::Version.new('4.2.0'), end: Rex::Version.new('4.2.12') },
82+
{ start: Rex::Version.new('4.1.0'), end: Rex::Version.new('4.1.15') },
83+
{ start: Rex::Version.new('0.0.0'), end: Rex::Version.new('4.0.99') }
84+
]
85+
86+
vulnerable_ranges.each do |range|
87+
if rversion.between?(range[:start], range[:end])
88+
return Exploit::CheckCode::Appears("The detected SPIP version (#{rversion}) is vulnerable.")
89+
end
8890
end
8991

9092
return Exploit::CheckCode::Safe("The detected SPIP version (#{rversion}) is not vulnerable.")

modules/exploits/multi/http/spip_rce_form.rb

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,20 @@ def check
8080

8181
print_status("SPIP Version detected: #{rversion}")
8282

83-
if rversion.between?(Rex::Version.new('4.2.0'), Rex::Version.new('4.2.1'))
84-
return Exploit::CheckCode::Appears
85-
elsif rversion.between?(Rex::Version.new('4.1.0'), Rex::Version.new('4.1.18'))
86-
return Exploit::CheckCode::Appears
87-
elsif rversion.between?(Rex::Version.new('4.0.0'), Rex::Version.new('4.0.10'))
88-
return Exploit::CheckCode::Appears
89-
elsif rversion.between?(Rex::Version.new('3.2.0'), Rex::Version.new('3.2.18'))
90-
return Exploit::CheckCode::Appears
83+
vulnerable_ranges = [
84+
{ start: Rex::Version.new('4.2.0'), end: Rex::Version.new('4.2.1') },
85+
{ start: Rex::Version.new('4.1.0'), end: Rex::Version.new('4.1.18') },
86+
{ start: Rex::Version.new('4.0.0'), end: Rex::Version.new('4.0.10') },
87+
{ start: Rex::Version.new('3.2.0'), end: Rex::Version.new('3.2.18') }
88+
]
89+
90+
vulnerable_ranges.each do |range|
91+
if rversion.between?(range[:start], range[:end])
92+
return Exploit::CheckCode::Appears("The detected SPIP version (#{rversion}) is vulnerable.")
93+
end
9194
end
9295

93-
return Exploit::CheckCode::Safe
96+
return Exploit::CheckCode::Safe("The detected SPIP version (#{rversion}) is not vulnerable.")
9497
end
9598

9699
def execute_command(cmd, args = {})

0 commit comments

Comments
 (0)