00×0 前言
近期亦是边挖src边审计代码,总结下近期的php代码审计的有些思路,我通常根据次序往下做,限于能力水平,可能会有不对或欠缺的地区,期盼各位师傅能够指点。
00×1 前期工作,必须的工具(我运用的)
PHPStorm|是PHP编程语言研发的集成环境。
Fotify|代码审计静态扫描工具,商场化静态代码扫描工具,误报率相对较低。
seay|源代码审计工具
CodeQl | 有效的QL非商场的开源代码自动化审计工具。
xcheck| Xcheck 是一款静态应用安全测试工具,旨在即时发掘业务代码中的安全危害,尤其是由于不受信输入所触发的安全漏洞。检测范围覆盖主流 Web 安全漏洞,具备速度快、误报低和准确率高等优点。
chrome & HackerBar插件
00×3 知道目的
在审计之前,咱们首要先确定自己此次审计的目地,我觉得会有三种状况 为了提高自己的审计经验项目中为了审计出能进一步利用的漏洞,通常必须getshell、ssrf这种级别的。为了挖点洞,去换钱或换cve&cnvd。有什么区别呢?
为了提高审计经验,我会去重点关注历史漏洞,并去复现。
倘若是为了能审出漏洞,去用作渗透中的进一步利用,那样我觉得,能够重点运用xcheck、Fotify等自动化代码审计,而后关注下面的文件上传、包括、sql注入等等有严重害处的漏洞
倘若是为了挖0day,搞证书什么的,那样全方位按过程过一遍,是不错的选择。
【一>所有资源获取<一】
1、200份非常多已然买不到的绝版电子书
2、30G安全大厂内部的视频资料
3、100份src文档
4、平常安全面试题
5、ctf大赛经典题目解析
6、全套工具包
7、应急响应笔记 8、网络安全学习路线
00×4 判断是不是是用了框架
判断是不是运用了框架,是蛮要紧的,能帮忙咱们快速定位有用的函数集,筛选不必须去看的代码。
通常来讲,我觉得运用了框架的更好审计一点,由于运用了框架的,他的函数集文件(各样办法function)会比较规整,在某些固定文件夹中,清晰可见,当然必须咱们先对框架有所认识。
日前比较主流的设计模式是MVC,即多层模型(M)、视图(V)、掌控器(C),这里不多赘述,php的主流框架几乎都运用了MVC设计模式。
PHP底下的研发框架日前见的比较多的有Laravel,ThinkPHP,yii等。
4.1. ThinkPHP框架
ThinkPHP这儿必须区分TP3和TP5的差别,首要咱们先来瞧瞧TP3的目录结构。(此刻基于TP3的系统都很少了。。。认识一下就好
其中,Application和Public目录下面都是空的。
Application是存放项目中的要紧的有些函数集,Public是公共文件夹,供用户拜访的,要紧的函数集千万不可放这里文件夹下。
Application目录默认是空的,然则第1次拜访入口文件会自动生成,参考后面的入口文件部分。其中框架目录ThinkPHP的结构如下:
另一TP5和TP3实质上差距有点大,先瞧瞧TP5下载下来的默认文件结构。其中在public文件下有个route.php文件,它的功效是用
|