前言
最近想提升一下自己的代审能力,虽然之前复现分析了挺多漏洞的,TP,Laravel,Typcho,yii,但一直感觉对代码审计能力提升用处不太大,很多时候链子和利用点都非常简单,可是如何发现的这确实一个难题,所以就拿熊海CMS为例,如何自己挖它里面的漏洞,看看自己能否发现和利用,最后在和网上存在的漏洞进行对比,再看哪里没有发现,为什么没有发现,希望这也能给才入门代码审计的师傅们一点思路吧
【资料】
审计流程
先看一下入口文件index.php,这个文件一般会定义很多变量,包含很多路径,文件进来,我们只需要注意它和用户的交互的点,入口文件一般会先判断你是否存在安装锁或者配置文件,如果不存在就跳转到安装目录,开始安装整个网站。然后打开文件监控,首先判断是否存在重装漏洞,然后再分析目录结构,大概知道每个文件夹中放的文件功能是什么就行了,比如熊海CMS:
然后安装成功后我习惯先浏览下网站的主要功能,大致了解这些之后就可以静下心来看代码了
重装漏洞
重装漏洞可以以下几种类型:
-
自动删除这个安装文件
通过生成一个 lock 文件来判断程序是否安装过
-
根本无验证
安装完成后不会自动删除文件,又不会生成 lock 判断是否安装过
-
安装file
直接用GET提交step绕过,直接进入下一步
-
变量覆盖导致重装
可以GET,POST,COOKIE任意提交一个变量名 i n s L o c k f i l e , 给 其 赋 空 值 , 覆 盖 掉 insLockfile,给其赋空值,覆盖掉 insLockfile,