这篇文章主要为大家展示了“代码审计之fortify工具怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“代码审计之fortify工具怎么用”这篇文章吧。
1.去下载装安装cms
官网地址自行猜测,自行下载。主讲思路过程,任意一套系统都可。
2.安装过程简单分析是否有漏洞
不做安装分析,很多都程序都会删掉安装包,有兴趣的可以搞一下,这里略过。
3.安装完成后,访问首页,分析路由
i.index.php
定义了NoDb常量,,,mark下,现在还不知道有啥用
加载了全局配置文件config.php
定义了路由的方法
ii.config.php
定义了些许的常量
包含了func.php文件(系统基本所有函数、加数据的操作类)
根据NoDb常量的值,取决了要不要初始化数据库。(mark 上述疑问解答)
最后一个函数_stripslashes,是否要去除转义,如下图:
判断是否支持,开启了自动转义。如果开启了就全局去除分斜杠,还原数据。
iii.index.php文件最后一行代码match_route();
读取数据库,并进行了缓存操作。
缓存记录
初始化模板
加载模板
模板解析
完成首页显示,完成这个流程分析,对这个cms有了大概的了解
4.下面借助工具fortify快速人工审计
6
File Inclusion
这里提示有文件包含,查看代码逻辑需要两个参数,do、nohtml、do的参数值做分隔处理,第一个参数值为路径,第二个参数值为文件名。后面还有个验证函数,代码如下:
使用了正则做了验证,允许输入的值数字和字母并且长度也做了限定,包括后缀也做了限定,那么存不存在包含,显然可以是可以包含的,但是包含的范围比较小,为什么?自己想一下。如果能突破这个限定,那肯定更牛叉。













发表回复