前言
本章使用百家CMS v4.14作为代码审计
环境为 Win7 + PHPstudy
安装
1.把下好的百家CMS源码文件baijia放到phpStudy的WWW目录下
2.访问地址:http://localhost/baijia/index.php 就会进入到安装界面,按照提示配置好参数,注意数据库用户名和密码要与你的mysql匹配
3.再访问:http://localhost/baijia/index.php,可以看到已经安装好了
漏洞
我们使用Seay源代码审计系统自动审计下

1、后台任意路径删除
漏洞点:/includes/baijiacms/common.inc.php
1 | function rmdirs($path='',$isdir=false) |
判断 $Path 是否为目录,不是目录直接 unlink 删除,如果是目录的话遍历文件和子目录将结果存入 $file_list 列表中,foreach 循环遍历目录中的文件和子目录,在循环中排除当前目录和上级目录,判断子目录名称如果不是 qrcode 就继续递归 rmdirs ,在处理完目录下文件和子目录,尝试删除自身,条件是自身不为 cache
这里我们搜索全局调用 rmdirs 函数,在 /system/manage/class/web/database.php 处调用了
1 | if($operation=='delete') |
功能是删除备份文件
利用
在后台删除备份文件时抓包


修改id处为我们要删除的目录,base64加密下,这里我们创建一个test文件夹,将 ../../test base64后填入id重放

即可任意删除目录