第1部分 审计流程
用户请求的处理流程获取请求全局过滤模块文件C函数内容M函数内容V表示通读原文函数集文件配置文件安全过滤文件Index文件网站目录结构主目录模块目录插件目录上传目录模块目录数据目录配置目录配置文件公共函数文件安全过滤文件数据库结构入口文件敏锐关键字回溯参数优点:有效的挖掘漏洞判断敏锐触发点的位置以及上下文,追溯参数源头缺点:覆盖不到规律漏洞的挖掘不可认识程序的基本框架功能点定向审计程序安装文件上传文件管理登录验证备份恢复找回暗码例子
Dami cms 账户功能登录会员资料找回暗码注册修改暗码我的投稿我的订单第二部分 PHP核心配置 体积写敏锐directive = value(指令=值)foo = bar ≠ FOO = bar运算符| 、&、~、!空值的表达方式foo = ;foo = none;foo = “none”;安全模式safe_mode=off (PHP 5.4移除 )限制文档存取、环境变量的读取以及空值外边程序的运行限制环节变量的读取safe_mode_allowed_env_vas = string指定PGP程序能够改变的环境变量的前缀,当值为空的时候,能够改变任何的环境变量外边程序执行目录safe_mode_exec_dir = “”禁用危险函数disable_functionscom 组件com.allow_dcom=falsePHP设置在安全模式下(safe_mode),准许攻击者运用com()函数穿件系统组件来执行任意命令运用com函数必须在php.ini中配置extension=php_com_dotnet.dll,倘若PHP VERSION<5.4.5,则不必须全局变量注册开关register_globals = offphp.ini的register_globals选项的默认值设为off,在4.2版本之前是默认开启的,当register_globals为on时,程序接受来自服务器的环境变量,包含表单提取的变量register_globals = Off,服务器获取数据时候采用**$_GET[name]** 来获取数据register_globals = On ,服务器采用POST或GET来提交变量,都会运用全局变量来接受取值魔术引号自动过滤magic_quotes_gpc=On PHP4.5移除magic_quotes_gpc=Off 在php.ini中默认关闭,会对sql语句中的单引号、双引号、反斜杠和空字符加上反斜杠转义,它会影响HTTP请求的数据(GET POST Cookies),同期能够在php代码中运用addslashes来转义,经过stripslashes来删除转义远程文件是不是准许包括远程文件allow_url_include = off设置为On的状况下,能够直接包括远程文件,若包括的变量为可控的情况下,能够直接掌控变量来执行PHP代码是不是准许打开远程文件allow_url_open = on准许本地PHP文件经过URL重写的方式来打开和关闭权限,默认的封装协议供给ftp和http协议拜访文件目录权限HTTP头部版本信息expose_php = off防止了经过http头部泄密的php版本信息文件上传临时目录upload_tmp_dir=上传文件临时保留目录,倘若不设置,采用系统的临时目录用户能够拜访目录open_basedir = E:\Local Test\WWW能够掌控PHP脚本只能拜访指定的目录。错误信息内部错误选项display_errors = on显示表示php脚本的内部错误,错误回显错误报告级别error_reporting = E_ALL & ~E_NOTICE将错误级别调到最高,表示所有的问题,方便排错第三部分 代码调试及Xdebug的配置运用echo最简单的输出数据调试办法,通常用来输出变量值或不确定执行到哪个分支print_r var_dum
|