握大局 --> 定向功能 --> 敏感函数参数回溯
**把握大局
*网站结构
浏览源码文件夹,了解程序的大致目录
*入口文件
index.php admin.php
文件一般使整个程序的入口,详细读一下index文件可以知道程序的架构
运行流程、包含哪些配置文件、包含哪些过滤文件以及包含哪些安全过滤文件
了解程序的业务逻辑
*配置文件
一般类似config.php 等文件
保存一些数据库相关的信息;程序的一些信息。
先看看数据库编码,如果是gbk则可能存在宽字节注入
如果变量的值用双引导,则可能存在双引导解析代码执行问题
1
2
3
4
*过滤功能
通过详细读 公共函数文件 和 安全过滤 等文件
清晰掌握用户输入的数据,哪些被过滤,哪些无过滤,在哪里被过滤
如何被过滤的;能否绕过过滤的数据。
过滤的方式是替换还是正则?有没有GPC?
有没有使用过滤函数处理
1
2
3
4
5
**方法
把握大局 --> 定向功能 --> 敏感函数参数回溯
1
【】通读全文法
(把握大局)
最麻烦但最全面的审计方法
了解整个网站的应用逻辑
才能挖掘到更多更有价值的漏洞
1
2
3
【】根据敏感函数,逆向追踪参数传递的过程
这个方法最高效,最常用的方法
多数漏洞的产生都是因为函数的使用不当导致的
只需要找到使用不当的函数,就可以快速挖掘想要的的漏洞
软件 'Seay源码审计系统'
主要利用正则匹配一些高危函数,关键函数和敏感关键词
尝试控制可控的参数变量
1
2
3
4
5
6
7
8
【*】定向功能分析法
主要根据程序的业务逻来说审计的
用浏览器逐个访问浏览,看看这套程序有哪些功能
根据相关的功能,大概推测可能存在哪些漏洞
常见的功能漏洞:
-程序的初始安装
-站点信息泄露
-文件上传
-文件管理
-登陆认证
-数据库备份恢复
-找回密码
-验证码
...etc