• youdianCMS v8代码审计


    youdianCMS官方地址

    一 代码执行漏洞

    在后台模板处修改任意模板添加php代码即可执行。

    youdiancms8.0\App\Core\Lib\Template\ThinkTemplate.class.php
    97行,其使用include包含了模板文件

    证明:
    在后台模板管理处写入phpinfo

    2 刷新首页,phpinfo执行了

    二 XXE漏洞

    后台模板管理处存在XXE漏洞,包括电脑模板管理,手机模板管理两处
    写入

    点击设置会触发XXE

    接收到了请求

    代码审计:
    1 /App/Lib/Action/Admin/TemplateAction.class.php:68
    当攻击者通过/index.php/Admin/template/Modify?file=/config.xml页面修改xml文件后,通过此模块功能进行保存,可以看到其对文件名进行验证,对内容进行相关解码但并未进行任何恶意代码的过滤,使得攻击者的恶意代码可以顺利保存。

    2 /App/Lib/Action/Admin/TemplateAction.class.php:307
    此为xxe漏洞的触发页面,当上述恶意代码写入config.xml并保存后通过此功能进行触发。可以看到,代码判断config.xml文件存在时,实例一个YdTemplateConfig()对象,并调用getAttribute方法

    三 文件上传漏洞

    CMS会在后台处设置允许上传文件的格式白名单,且在代码中有一串黑名单,当上传文件时会对后缀验证是否处在此黑名单。但是由于白名单可认为控制添加,黑名单存在绕过,所以出现了此漏洞

    添加pht或phtml格式

    任意上传点都行

    返回包中显示了文件路径

    连接即可

    代码审计:
    App/Lib/Action/BaseAction.class.php
    可以看到作者添加了很多黑名单后缀,但是pht 和phtml未在其中,且可以执行php代码。

    四 任意文件上传

    CMS存在模板压缩包上传功能,但是未能对其中文件数量和内容进行控制,所以在压缩包中添加任意文件即可

    此为我添加在压缩包中的后门文件

    代码审计:
    App/Lib/Action/AdminBaseAction.class.php
    代码只对压缩包进行了重名验证,有效验证,无任何安全性处理,所以存在此漏洞。

  • 相关阅读:
    IE 中的 button type默认值问题
    linux中的&&和&,|和||
    scp 上传 下载 文件
    git 撤销,放弃本地修改
    git branch 新建,推送与删除
    git tags 管理
    CentOS7下Firewall常用命令
    git 忽略文件,不提交文件 清空缓存
    mysql 常用命令
    优秀的测试人员简历是什么样子的?
  • 原文地址:https://www.cnblogs.com/zongdeiqianxing/p/13495716.html
Copyright © 2020-2023  润新知