menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 140-XDCMS chevron_right 011-XDCMS 3.0 数据库备份任意文件夹删除.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    011-XDCMS 3.0 数据库备份任意文件夹删除.md
    1.03 KB / 2021-07-17 00:01:24
        # XDCMS 3.0 数据库备份任意文件夹删除
    
    ### 一、漏洞简介
    
    ### 二、漏洞影响
    
    XDCMS 3.0
    
    ### 三、复现过程
    
    ![](images/15896418966479.jpg)
    
    
    漏洞点:system/modules/xdcms/data.php
    
    
    ```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');
        }
    ```
    
    删除数据库备份时候仅判断是否为文件夹,是则删除其中所有的文件;同时未对目录进行过滤,导致可以删除任意文件夹中的文件
    
    ![](images/15896419198883.jpg)
    
    
    links
    file_download