找回密码
 注册
首页 ≡≡网络技术≡≡ PHP语言 phpweb成品网站最新版上传、注入漏洞

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

灰儿 2015-5-29 22:41:43

软件版本: V2.0.5 / 20120412


商业收费软件

官网:www.phpweb.net

漏洞文件:search/module/search.php

/search/index.php?key=1&myord=1 [sqlinjection]




灰儿 楼主 2015-5-29 22:43:08
上传漏洞:
漏洞文件: /kedit/upload_cgi/upload.php


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


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

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

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

  16. //最大文件大小
  17. $max_size = 1000000;

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

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

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

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

  26.         //原文件名
  27.         $file_name = $_FILES['fileData']['name'];
  28.         //服务器上临时文件名
  29.         $tmp_name = $_FILES['fileData']['tmp_name'];
  30.         //文件大小
  31.         $file_size = $_FILES['fileData']['size'];
  32.         //检查目录
  33.         if (@is_dir($save_path) === false) {
  34.                 alert("上传目录不存在。");
  35.         }
  36.         //检查目录写权限
  37.         if (@is_writable($save_path) === false) {
  38.                 alert("上传目录没有写权限。");
  39.         }
  40.         //检查是否已上传
  41.         if (@is_uploaded_file($tmp_name) === false) {
  42.                 alert("临时文件可能不是上传文件。");
  43.         }
  44.         //检查文件大小
  45.         if ($file_size > $max_size) {
  46.                 alert("上传文件大小超过限制。");
  47.         }
  48.         //获得文件扩展名
  49.         $temp_arr = explode(".", $_POST['fileName']);
  50.         $file_ext = array_pop($temp_arr);
  51.         $file_ext = trim($file_ext);
  52.         $file_ext = strtolower($file_ext);

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

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

  64.         
  65. ?>
复制代码



灰儿 楼主 2015-5-29 22:43:59
iis 6.0 可getshell
抓包改包 filename 改为  xx.php;111.jpg 即可突破

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

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

有兴趣的可以研究下
您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。