找到,并修复开发程序的漏洞 ,, 找到一些逻辑结构的错误的程序漏洞,
脚本安全问题,是 函数 和 变量 的问题
变量--------可以直接或间接的接收用户不安全的输入
要先了解一下,MVC架构
MVC是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式。MVC模式同时提供了对 HTML、CSS和JavaScript 的完全控制
常见的PHP框架
ThinkPHP 易于上手学习成本低、框架的兼容性较强
Yaf : 世界上最快的PHP框架????
Kohana 文件系统和结构非常清晰
Yii 由国人开发的重量级的框架,这个框架把代码的可重用性发挥到极致。
多看开发文档!!!!!
我们在拿到一个程序的时候,先看他是一个什么样的架构,再看他的功能模块
获取请求(POST、GET)---> 全局过滤 ----> 模块文件 ----> C 函数内容 ----> M函数内容 ---> V显示
这就是CMV
通读原文
不是从index一个一个看,是看一些代码的大体的结构
网站目录结构
主目录 模块目录 插件目录 上传目录 配置目录 模板目录 数据目录
函数集文件
注意:文件命名的方式 、文件大小、创建时间、
其它文件统一调用的文件,在文件头部包含这个文件
配置文件
config、 conf 等配置文件
安全过滤文件
safe check 命名的 安全函数
index 文件
通读原文,大概知道这个这个程序是干嘛的
优点: 了解程序框架,业务逻辑,挖掘楼哦对那个,对自身产品的审计
缺点: 耗费时间多,程序比较大,累
查找敏感关键字 回溯
优点 快速高效的挖出想要的漏洞 , 判断触发点的位置,以及上下文
缺点,覆盖不到逻辑漏洞的挖掘, 不能了解程序的基本框架
查找可控变量
上面 $_GET['search'] 接收后 直接代入sql语句查询中去了 ,没有进行任何过滤
功能点审计
程序安装
文件上传
文件管理
登录验证
备份恢复
找回密码
一切输入都是有害的
可以控制的变量
一切进入函数的变量都是有害的
变量到底又利用价值的函数(危险函数)
推荐用 源码之家等小的程序,去通读源码
接触框架 了解MVC