menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right XDCMS 3.0 数据库备份任意文件夹删除 chevron_right XDCMS 3.0 数据库备份任意文件夹删除.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    XDCMS 3.0 数据库备份任意文件夹删除.md
    1.24 KB / 2021-07-15 20:11:08
        XDCMS 3.0 数据库备份任意文件夹删除
    ==================================
    
    一、漏洞简介
    ------------
    
    二、漏洞影响
    ------------
    
    XDCMS 3.0
    
    三、复现过程
    ------------
    
    ![](./resource/XDCMS3.0数据库备份任意文件夹删除/media/rId24.jpg)
    
    漏洞点:`system/modules/xdcms/data.php`
    
        public function delete(){
                $file=trim($_GET["file"]);
                $dir=DATA_PATH.'backup/'.$file;
                if(is_dir($dir)){
                    //删除文件夹中的文件
                    if (false != ($handle = opendir ( $dir ))) {  
                        while ( false !== ($file = readdir ( $handle )) ) {   
                            if ($file != "." && $file != ".."&&strpos($file,".")) {  
                                @unlink($dir."/".$file);    
                            }  
                        }  
                        closedir ( $handle );  
                    }  
                
                    @rmdir($dir);//删除目录
                }
                showmsg(C('success'),'-1');
            }
    
    删除数据库备份时候仅判断是否为文件夹,是则删除其中所有的文件;同时未对目录进行过滤,导致可以删除任意文件夹中的文件
    
    ![](./resource/XDCMS3.0数据库备份任意文件夹删除/media/rId25.jpg)
    
    
    links
    file_download