menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 151-Zzcms chevron_right 003-CVE-2018-13056 Zzcms 8.3 任意文件删除.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    003-CVE-2018-13056 Zzcms 8.3 任意文件删除.md
    1.56 KB / 2021-07-17 00:01:26
        # CVE-2018-13056 Zzcms 8.3 任意文件删除
    
    ### 一、漏洞简介
    
    ### 二、漏洞影响
    
    版本:Zzcms 8.3 user / del.php
    
    ### 三、复现过程
    
    漏洞点出现在 /user/del.php 的55行到64行
    
    ![](images/15896916971877.png)
    
    
    看到是从数据库中取出的img字段,然后直接判断了是不是默认值,然后检查文件存在,最后是删除,这其中并没有涉及到文件合法性检查。
    
    那我们就可以去找一下这个字段是怎么进入数据库的:
    
    ![](images/15896917070379.png)
    
    
    首先找到表名,是zzcms_main表,然后找一下insert或者update操作,然后我们在/user/zssave.php中发现了有关操作。
    
    ![](images/15896917147068.png)
    
    
    然后查看是否经过了过滤,因为经过了伪全局过滤,这里的$img并没有经过任何有效过滤。
    
    ![](images/15896917216981.png)
    
    
    所以向数据库中插入污点数据是很简单的,只要在发布招商信息的时候,抓包,修改掉img的数据即可,这里我们测试/install/install.lock:
    
    ![](images/15896917282223.png)
    
    
    然后就可以到/user/del.php中去删除文件,这样就能触发删除操作。
    
    但是这里有一个问题,就是删除的时候需要知道这一条记录在数据库中的id编号,可以采用爆破的方法来得到。
    
    ![](images/15896917387163.png)
    
    
    发包以后,我们刷新页面就可以发现,安装的锁文件已经被成功删除:
    
    ![](images/15896917464872.png)
    
    
    然后就可以配合之前的漏洞,任意文件写入拿到webshell。
    
    **参考链接**
    
    https://www.anquanke.com/post/id/156660
    
    links
    file_download