1、动态调试分析-phpstudy&phpstorm&xdebug PHP5配置: https://blog.csdn.net/weixin_40418199/article/details/79088365 PHP7配置: https://www.jb51.net/article/195840.html 2、动态调试&关键字搜索-代码执行流程&漏洞函数关键字 调试首页对应代码,修改数据,分析执行流程,测试漏洞 3、关键字挖掘-文件删除搜索关键字unlink,对应函数del_file,查看调用 后台delfile函数调用,如何处理delfile函数,受参数控制,进行测试 构造Payload-确定过滤-重新构造Payload-配合重装机制实现重装漏洞
debug调试 新建test.php 加断点 点击步入 就可以看到代码执行流程和对应的的变量数值
文件安全-文件包含-动态调试-xhcms
Addslashes 转义函数
include 函数 加上断点 查看代码执行流程
动态分析代码会跳转到filse目录下 然后读取files目录下的文件,新建一个文件,就可以成功跳转到文件,并执行文件里的代码
这种情况 需要手动创建文件 如果无法外部利用 就算私有漏洞。
文件安全-文件删除-关键字搜索-zzzphp
文件删除通常用在网站重装,使用了源码部署网站,在install目录下 都会有install.lock 锁文件,会判断这个问价是否存在不存在 就提示需要安全系统,一旦安装,所有的数据都会清空。
phpstome 搜索unlink 关键字
定位del_file 函数 此时函数又调用了delfile函数 path 接收路径 又定义了四个目录 判断要删除的文件是否在这四个目录下,如果有就可以删除,如果没有 就删除不了 path这里没有做过滤,所以 ../ 是可以使用
在switch语句 看到函数,传参的变量act act有使用safe_word getform函数进行过滤 再次追踪
safe_word 只保留下面字符 因为是文件名 其他特殊字符也不用 这个就过
getform函数 判断请求方式,get post 都可以
新建txt文件 测试下
成功删除
找到锁文件 进行删除
访问install 进行重装,提示已经安装???
查看index.php 也是act获取参数,先判断,在进行switch语句,后台加上act=step1