一次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参数,替换为空,然后没有其他过滤,传入my_unlink:define('ATTACHMENT_URL','http://www.wuzhicmstest.com/uploadfile/');//附件路径
达到删除的目的。
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:
后台访问该方法:
后面全局搜索发现,同样的利用还有很多:
结语
若是有师傅知道还有哪里能rce,各位师傅带带我呀
4 条评论
可输入 255 字