审计cms的重装业务逻辑并实现bypass达到系统重装的目的
漏洞点zzcms.com/install/index.php
附加调试器,访问:http://www.zzcms.com/install/index.php?XDEBUG_SESSION_START=16156(XDEBUG_SESSION_START是调试器附加的)访问结果如下图:
根据页面回显信息,keyword是:/install/install.lock文件,回到index.php代码,索引这个字段,发现0 found
试试全局find,结果如下
发现页面先前回显的内容完整的在step_1.php文件中出现,可能是install/index.php包含了step_1.php这个文件
粗看step_1.php代码:
if(file_exists("install.lock")){
echo "<div style='padding:30px;'>安装向导已运行安装过,如需重安装,请删除 /install/install.lock 文件</div>";
}else{
//略
}
即判断install.lock文件是否存在,存在则说明安装过zzcms了,正常操作则需要将网站目录下的install.lock文件删除才能重装该cms,本文的目的也是bypass这个限制,在不删除该文件,bypass机制达到重装cms的目的,破坏力还是挺大的
言归正传,经调试install/index