[PHP]1.代码审计的思路及流程

MVC架构(传统MV架构-MVC架构)

 

MVC是一种使用MVC(Model view controller 模型-视图-控制器)设计创建Web应用程序的模式,MVC模式同事提供了对HTML,CSSJAVASCRPT的完全控制

 

1. model(模型)是应用程序中处理应用程序数据逻辑的部分,表示应用程序核心(比如数据库记录列表)通常模型对象负责在数据库中存取数据

 

2. View(视图)是应用程序中处理数据显示的部分,显示诗句(数据库记录)通常视图一句模型数据创建的

 

3. Controller(控制器)是应用程序中处理用户交互的部分 处理输入(写入数据库记录)通常控制器负责从视图读取数据 控制用户输入,并像模型发送数据

[PHP]1.代码审计的思路及流程 第1张

常见的PHP框架

1. ThinkPHP文档全中文易上手,对于配置环境没什么要求

2. Yaf 据说是世界上最快的PHP框架

3. Laravel这两年非常火 内置的用户权限和blade模板用起来非常方便 文档有中文有英文 遇到问题能充stackoverflow找到不少答案

4. kohana文件系统和接口非常清晰 扩展灵活 安全 HMVC 大量的PHP5的特效 代码非常优雅 文档也不错

5. Codelgniter 中文资料齐全 简介 扩展性强 易学 但是也有不好的地方 一是codeigniter不算完全的OO框架 二是对更大一点的项目 功能薄弱了点

6. Yii功能稍微强大 比codeigniter复杂

7. Smyfony 因为这个框架非常强大 他会给你带来一个完善和爽快的世界

8. Doitphp 国内PHP框架的后起之秀

 

 

 

处理流程

1. 获取请求

2. 全局过滤

3. 模块文件

4. C函数内容 (控制器)

5. M函数内容(模块)

6. V显示(视图)

 

 

审计思路

1. 通读原文

函数集文件

配置文件

安全过滤文件

Index文件

[PHP]1.代码审计的思路及流程 第2张

优点:了解程序架构及业务逻辑 挖掘更高质的漏洞 一般适合企业对自身产品的审计

缺点:耗费时间较多 程序比较大

 

敏感关键词回溯参数

优点:可以快速搞笑的挖出想笑漏洞 最常用的方法

判断敏感发点的位置以及上下文 追踪参数源头

缺点:覆盖不到逻辑漏洞的挖掘

不能了解程序本身的基本框架

 

查找可控变量(使用RIPS

[PHP]1.代码审计的思路及流程 第3张

功能点定向审计

1. 程序安装

2. 文件上传

3. 文件管理

4. 登录验证

5. 备份恢复

6. 找回密码