menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 025-CmsEasy chevron_right 002-CmsEasy 7.3.8 sql注入漏洞.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    002-CmsEasy 7.3.8 sql注入漏洞.md
    1.25 KB / 2021-07-17 00:01:24
        # CmsEasy 7.3.8 sql注入漏洞
    
    ## 漏洞影响
    
    CmsEasy 7.3.8
    
    ## 复现过程
    
    漏洞代码位于lib/admin/language_admin.php的add_action函数
    
    ![](images/15889479570232.png)
    
    
    在测试后发现CmsEasy V7.3.8框架已经对SQLi进行了转义和过滤,包括(select、* 、sleep等等),为了确定具体的过滤名单,从源码中查找检测函数
    
    但是经过一番搜索后,源码中发现实际调用的注入检测函数并没有被定义,仔细研究后确定是在几个加密混淆的核心代码中实现了。。(闭源一定意味着安全吗?)——通过一番周折后得到函数
    
    ![](images/15889479668819.png)
    
    
    显而易见,这样简单的过滤很容易被部分SQLi关键组成字符绕过,导致SQL注入,例如,可以使用benchmark函数来代替sleep以达到基于时间的注入。除了通过得到源码来明确黑名单的,用fuzz同样可以得到过滤的黑名单,之后再想办法绕过
    
    而类似的漏洞成因在同一个文件的edit_action函数中也存在
    
    ![](images/15889479758376.png)
    
    
    这两处接口都存在SQL注入漏洞,提交的payload绕过过滤黑名单后可以进行利用
    
    ![](images/15889479837024.png)
    
    
    ![](images/15889479905758.png)
    
    
    参考链接
    
    https://xz.aliyun.com/t/7273
    
    links
    file_download