审计方法与步骤

一.审计前的准备

1.获得源码
2.安装网站

二.把握大局

1.网站结构
浏览源码文件夹,了解该程序的大致目录。
2.入口文件
index.php admin.php一般是整个程序的入口,详读index文件可知程序架构,运行流程,包含哪些配置文件,包含哪些过滤文件以及包含哪些安全过滤文件,了解程序的业务逻辑。
3.配置文件
一般类似于config.php等文件,保存一些数据库相关信息,程序的一些信息。先看数据库编码,如果是gbk,则可能存在宽字节注入。如果变量的值用双引号,则可能存在双引号解析代码执行的问题。
4.过滤功能
详读公共函数文件和安全过滤文件等文件,可清晰了解用户输入的数据。重点看过滤功能。
index.php
(index.php)
2,3 配置文件,包含head文件,产生整体的逻辑
7,8 判断是否存在module,存在的话包含,不存在就显示基本信息,即入库文件

在这里插入图片描述
(config.php)
3 关闭错误报告
5,6 判断是否存在lock文件,如果不存在就跳转到安装文件,需要初始化安装
10 包含lib文件即包含公共函数
12-15 数据库的信息
17 连接数据库
18 初始设置字符集
19 选择数据库
12-24 数据库的一些配置
26 开启session
在这里插入图片描述
(lib.php)
3 设定时区
5 判断是否开启gpc,如果不开启,那么就要自己实现gpc的功能,即自动转义,通过调用sec函数,添加转义。无论是否开gpc都要实行转义,这就是一个基础的过滤功能。
在这里插入图片描述
(lib.php)
25-47 过滤str语句中一些敏感字符串,防止注入
在这里插入图片描述
50 获取一些客户端的ip
在这里插入图片描述
65 过滤函数,净化输入
69 判断图片的函数
72 判断后缀去判断是否为图片文件,有这个源码必定有上传图片的功能

三.审计方法

1.通读全文法
最麻烦但最全面 ;
把握大局—————>根据文件入口,进入各个功能进行审计;
2.敏感函数参数回溯法(shell-exec)
最高效,最常用;
大多数函数的漏洞是因为函数的使用不当导致的,我们只需要找到不当的函数,即可快速挖掘想要的漏洞;
神器:Seay源代码审计系统;
分析判断敏感函数的上下文,追踪参数源头;
尝试控制可控的参数变量;
3.定向功能分析法(安装问题)
根据程序的业务逻辑进行审计;
首先是用浏览器逐个访问浏览,看程序有哪些功能,根据相关功能,大概推测漏洞;
常见功能漏洞:程序初始安装,站点信息泄露,文件上传,文件管理,登录认证,数据库备份恢复,找回密码,验证码等等;

审计方法套路:

Step1:把握大局;
Step2:根据定向功能法针对每一项功能进行审计;
Step3:敏感函数参数回溯;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值