美文网首页
审计方法与步骤

审计方法与步骤

作者: shadowflow | 来源:发表于2018-08-26 10:40 被阅读0次

    1. 环境搭建

    1. PHP代码审计

    1.1 环境

    Package Control(管理其他插件的插件)

    CTags(为函数建立索引的插件)

    PHPTidy(php代码整理的插件)

    ConvertToUTF8(非UTF-8编码转换为UTF-8插件)

    vMysqlMonitoring(一款mysql语句直接日志查询记录工具)

    2. 把握大局

    • 入口文件

    index.php,admin.php文件一般是整个程序的入口,详细读一下index文件可以知道程序的架构,运行流程,包含哪些配置文件,包含哪些过滤文件以及包含哪些安全过滤文件,了解程序的业务逻辑。

    • 配置文件

    一般类似config.php等文件,保存一些数据库相关信息,程序的一些信息。先看看数据库编码,如果是gbk则可能存在宽字节注入。如果变量的值用双引号,则可能存在双引号解析代码执行的问题(php中双引号可以直接解析变量,而单引号不会)

    • 过滤功能

    通过详读公共函数文件安全过滤文件等文件,清晰掌握用户输入的数据,哪些被过滤,哪些无过滤,在哪里被过滤了, 如何过滤,能否绕过过滤的数据 。过滤的方式是替换还是正则?有没有GPC,有没有使用addslasher()处理?

    admin:后台管理目录
    install:网站的安装目录,其中的install.sql为数据库的结构信息
    sys:这个目录里面一般存放着配置信息文件和公共函数库,分别为config.phplib.php
    user:这里面记录着用户的一些操作,如用户注册等

    3. 审计方法

    • 通读全文法
    • 敏感函数参数回溯法

    根据敏感函数,逆向追踪参数传递的过程
    这个方法是最高效,最厂用的方法
    大多数漏洞的产生是因为函数的使用不当产生的,只要找到这样的一些使用不当的函数,就可以快速挖掘想要的漏洞

    • 定向功能分析法(*)

    该方法主要是根据程序的业务逻辑来做审计的
    首先是用浏览器逐个访问浏览,看看这套程序有哪些功能,根据相关功能大概推测存在哪些功能

    常见功能漏洞(包括但不限于):

    1. 程序初始安装
    2. 站点信息泄露
    3. 文件上传
    4. 文件管理
    5. 登录认证
    6. 数据库备份恢复
    7. 找回密码

    相关文章

      网友评论

          本文标题:审计方法与步骤

          本文链接:https://www.haomeiwen.com/subject/tzgniftx.html