一次wuzhicms审计 一次wuzhicms审计

一次wuzhicms审计

前言
这周利用晚上时间,看了一下wuzhicms,该cms好像已经停更了,源码在官网上给了百度网盘地址,拿来本地搭建审计,分享一下,欢迎师傅们来指导。
1. 敏感信息泄露
直接后台挂个链接,这个很可以:


代码中:


2. 两个后台sqli
这个应该不止这两个地方,时间有限,我就找到这么两个,有师傅强的话可以找全试试。

  • www\api\sms_check.php中:

    传参param给$code,然后直接拼接到sql语句中,导致sqli:
  • coreframe\app\promote\admin\index.php中:

    获取$keywords直接拼接到sql语句中,导致sqli:

    3. 后台任意文件读取、删除
    coreframe\app\attachment\admin\index.php中存在dir方法:

    分析逻辑发现,将../,./,.\,..\替换成空再添加/结尾,这里可以通过多写绕过:

    同时发现读取到的文件是可以删除的,每个后面都有删除的链接。
    找到del方法:

    通过url获取路径后,检测了ATTACHMENT_URL参数,替换为空,
    define('ATTACHMENT_URL','http://www.wuzhicmstest.com/uploadfile/');//附件路径
    
    然后没有其他过滤,传入my_unlink:

    达到删除的目的。
    4. 这应该算是逻辑漏洞
    和上次看的zzcms2021类似的利用方法,具体可以参考https://xz.aliyun.com/t/10432
    www\api\uc.php中:

    通过传参可以调用uc_note类的任意方法:

    可以更改用户名和密码等。
    5. 后台rce
    这个找了好一段时间,一直没放弃的原因就是前面找到了这么多,那没个rce就不完美了,后来在cnvd上也查到有人提交rce,但是没有利用方法,只能自己硬着头皮找,还好找到了一个。
    前面做了若干尝试无果,后来直接全局搜索敏感函数,file_put_contents就搞定了,离谱。
    coreframe\app\core\libs\function\common.func.php中set_cache方法:

    写入内容没有过滤,再搜索哪里调用了set_cache:
    member模型中存在调用。

    发现直接获取setting写入缓存。
    利用,写入phpinfo:


    后台访问该方法:

    后面全局搜索发现,同样的利用还有很多:


 

评论 0

sitemap