审计方法与步骤
一、审计前准备:
1、获得源码。
大多数PHP程序都是开源的,找到官方下载最新的源码包就好了。
2、安装网站。
在本地搭建网站,一边审计一边调试。实时跟踪各种动态变化。
二、网站结构
网站结构:浏览源码文件夹,了解该程序大致目录。
入口文件:index.php、admin.php等文件一般是整个程序的入口,详细读一下index文件可以知道程序的架构,运行流程、包含哪些配置文件,包含哪些过滤文件以及包含哪些安全过滤文件,了解程序的业务逻辑。
配置文件:般类似conflg.php等文件,保存一些数据库相关信息,程序的一些信息。先看看数据库编码,如果是gbk则可能存在宽字节注入,如果变量的值用双引号,则可能存在双引号解析代码执行的问题。
过滤功能:通过祥读公共函数文件和安全过滤文件等文件,清晰掌握用户输入的数据,那些被过滤,哪些无过滤,在哪里被过滤了,如果过滤的,能否绕过过滤的数据,过滤的方式是替换还是正则?有没有GPC?有没有使用addslasher()处理?
审计的方法
通读全部代码
敏感函数参数回溯法
定向功能分析法
注:
常见功能漏洞:
程序初始安装
站点信息泄露
文件上传
文件管理
登录认证
数据库备份恢复
找回密码
验证码