background image

PHP

教程 PHP 代码审核的使用说明

本文为大家分享介绍 PHP 代码审核,欢迎参考

概述

代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应
用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带
来不必要的风险
代码审核不是简单的检查代码,审核代码的原因是确保代码能安全的做到对信息和资源进
行足够的保护,所以熟悉整个应用程序的业务流程对于控制潜在的风险是非常重要的。
审核人员可以使用类似下面的问题对开发者进行访谈,来收集应用程序信息。

应用程序中包含什么类型的敏感信息,应用程序怎么保护这些信息的?
应用程序是对内提供服务,还是对外?哪些人会使用,他们都是可信用户么?
应用程序部署在哪里?
应用程序对于企业的重要性?

 

最好的方式是做一个 checklist,让开发人员填写。Checklist 能比较直观的反映应用程序的信
息和开发人员所做的编码安全,它应该涵盖可能存在严重漏洞的模块,例如:数据验证、身份
认证、会话管理、授权、加密、错误处理、日志、安全配置、网络架构。

输入验证和输出显示

大多数漏洞的形成原因主要都是未对输入数据进行安全验证或对输出数据未经过安全处
理,比较严格的数据验证方式为:对数据进行精确匹配
接受白名单的数据
拒绝黑名单的数据
对匹配黑名单的数据进行编码

 

在 PHP 中可由用户输入的变量列表如下:
$_SERVER
$_GET
$_POST
$_COOKIE
$_REQUEST
$_FILES
$_ENV
$_HTTP_COOKIE_VARS
$_HTTP_ENV_VARS
$_HTTP_GET_VARS
$_HTTP_POST_FILES
$_HTTP_POST_VARS
$_HTTP_SERVER_VARS
我们应该对这些输入变量进行检查
命令注入
安全威胁
命令注入攻击是通过把 HTML 代码输入一个输入机制(例如缺乏有效验证限制的表格域)