灰儿 发表于 2015-5-29 22:41:43

phpweb成品网站最新版上传、注入漏洞

软件版本: V2.0.5 / 20120412
商业收费软件

官网:www.phpweb.net

漏洞文件:search/module/search.php/search/index.php?key=1&myord=1


灰儿 发表于 2015-5-29 22:43:08

上传漏洞:
漏洞文件: /kedit/upload_cgi/upload.php


<?php
define("ROOTPATH", "../../");
include(ROOTPATH."includes/admin.inc.php");
NeedAuth(0);


$dt=date("Ymd",time());
if(!is_dir(ROOTPATH.$_POST['attachPath'].$dt)){
      @mkdir(ROOTPATH.$_POST['attachPath'].$dt,0777);
}

//文件保存目录路径
$save_path = ROOTPATH.$_POST['attachPath'].$dt.'/';
echo $save_path;
//文件保存目录URL
$save_url = '../../'.$_POST['attachPath'].$dt.'/';

//定义允许上传的文件扩展名
$ext_arr = array('gif','jpg','png','bmp'); //限制后缀

//最大文件大小
$max_size = 1000000;

//更改目录权限
@mkdir($save_path, 0777);

//文件的全部路径
$file_path = $save_path.$_POST['fileName'];   //保存文件名

//文件URL
$file_url = $save_url.$_POST['fileName'];

//有上传文件时
if (empty($_FILES) === false) {

      //原文件名
      $file_name = $_FILES['fileData']['name'];
      //服务器上临时文件名
      $tmp_name = $_FILES['fileData']['tmp_name'];
      //文件大小
      $file_size = $_FILES['fileData']['size'];
      //检查目录
      if (@is_dir($save_path) === false) {
                alert("上传目录不存在。");
      }
      //检查目录写权限
      if (@is_writable($save_path) === false) {
                alert("上传目录没有写权限。");
      }
      //检查是否已上传
      if (@is_uploaded_file($tmp_name) === false) {
                alert("临时文件可能不是上传文件。");
      }
      //检查文件大小
      if ($file_size > $max_size) {
                alert("上传文件大小超过限制。");
      }
      //获得文件扩展名
      $temp_arr = explode(".", $_POST['fileName']);
      $file_ext = array_pop($temp_arr);
      $file_ext = trim($file_ext);
      $file_ext = strtolower($file_ext);

      //检查扩展名   
      if (in_array($file_ext, $ext_arr) === false) {   
                alert("上传文件扩展名是不允许的扩展名。");
      }

      //移动文件   
      //未重命名 虽然过滤了 后缀   iis 6解析漏洞 ^ _ ^
      if (move_uploaded_file($tmp_name, $file_path) === false) {
                alert("上传文件失败。");
      }
      
      @chmod($file_path,0666);

      
?>


灰儿 发表于 2015-5-29 22:43:59

iis 6.0 可getshell
抓包改包 filename 改为xx.php;111.jpg 即可突破

apache 版本magic_quotes_gpc = off情况下可以考虑 0 截断 绕过

由于后台 写入配置文件、创建页面 都插入到数据库...
未找到一个通杀拿shell办法

有兴趣的可以研究下
页: [1]
查看完整版本: phpweb成品网站最新版上传、注入漏洞