ZZCMS201910代码审计,此次审计的目的是为了记录学习过程
审计cms的重装业务逻辑并实现bypass达到系统重装的目的
漏洞点http://xxxxxxxx/install/index.php
Cms安装目录:http://127.0.0.3/install/index.php
窗口提示 :安装向导已运行安装过,如需重安装,请删除 /install/install.lock 文件
意思是删除掉/install/install.lock文件后才可以安装
我们在phpstorm中使用Ctrl+Shift+F 对源码进行搜索
成功定位到 step_1.php文件
file_exists()函数使用方法
这里检测 install.lock文件是否存在,如果存在那么提示已经安装过了
如果不存在
执行else命令,step的值为2
查看installindex.php源码
再11行代码可知 如果没有用post的方法传入step,那么step=1
(默认step的值为1)
在第44行到第47行中,存在判断step的值,并做出提示
switch($step) 检查 step的值
如果使用post的方法传入step=2
首先会对php版本,mysql版本进行检查,其他代码的不重要不影响后面文件包含。
执行代码include step_2.php
附带step_2.php的源代码
附带phpstorm Debug调试图
我们用post方法传入step=2
最后出现可以绕过检查,直接重装cms!!!
知识星球:
原文始发于微信公众号(凯撒安全实验室):php代码审计学习记录-二次安装漏洞-02
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论