下载整个网站的软件,上海网站建设电,外贸网站有哪些平台,数据中台是什么意思PHP伪协议 PHP伪协议事实上是其支持的协议与封装协议#xff0c;支持的种类有以下12种。 * file:// — 访问本地文件系统
* http:// — 访问 HTTP(s) 网址
* ftp:// — 访问 FTP(s) URLs
* php:// — 访问各个输入/输出流#xff08;I/O streams#xff09;
* zlib:// — 压…PHP伪协议 PHP伪协议事实上是其支持的协议与封装协议支持的种类有以下12种。 * file:// — 访问本地文件系统
* http:// — 访问 HTTP(s) 网址
* ftp:// — 访问 FTP(s) URLs
* php:// — 访问各个输入/输出流I/O streams
* zlib:// — 压缩流
* data:// — 数据RFC 2397
* glob:// — 查找匹配的文件路径模式
* phar:// — PHP 归档
* ssh2:// — Secure Shell 2
* rar:// — RAR
* ogg:// — 音频流
* expect:// — 处理交互式的流 把握大局 网站结构浏览源码文件夹了解程序大致目录。入口文件index.php、admin.php文件一般是整个程序的入口详细读一下index文件可以知道程序的架构运行流程、包含的哪些配置文件包含了哪些过滤文件以及包含哪些安全过滤文件了解程序的业务逻辑。 配置文件类似config.php文件包含了数据库的配置信息程序的一些信息。先看看数据库编码如果是gbk则可能存在宽字节注入。如果变量的值用双引号、则可能存在双引号解析代码执行的问题。过滤功能通过祥读公共函数文件(lib.php)和安全过滤文件等文件清晰掌握用户输入的数据哪些被过滤哪些没被过滤在哪里被过滤如何过滤的能否绕过过滤的数据。过滤方式是替换还是正则有没有GPC有没有使用addslashes()处理。 审计方法 通读全文法把握大局→根据入口文件进入各个功能进行审计。敏感函数参数回溯法最高效、最常用的方法。大多数漏洞的产生是因为函数的使用不当导致的。使用软件查找匹配一些高危漏洞、关键函数及敏感关键字如——Seay源代码审计系统。不推荐使用误报率太高但是可以练习一下熟悉危险函数、关键函数。 定向功能分析法最主要的方法使用浏览器逐个访问浏览看看这套程序有哪些功能。根据相关功能大概推测可能存在哪些漏洞。 把握大局——定向功能——敏感函数参数回溯 常见功能漏洞 程序初始安装 l 站点信息泄露日志、备份文件 l 文件上传 l 模板、文件编辑 l 模板更改zipl 数据库备份 l 找回密码 l 修改配置信息 常见的INI配置 配置文件 php.ini全局配置文件、.user.ini用户配置文件与Apache的.htaccess类似。http.conf会覆盖php.ini的值。 变量相关 全局变量register_globals会造成变量之间的覆盖例如传递一个一样的参数post会覆盖掉get的值。 短标签short_open_tag ? ?等价于?php ?、?等价于? echo。从PHP 5.4.0起。 安全模式 //安全模式safe_mode开启system()无法执行关闭可以。从5.3.0废弃5.4.0移除。 安全模式下执行程序主目录safe_mode_exec_dir /var/www/html 如果PHP使用了该安全模式system()和其他程序执行函数将拒绝启动不在此目录中的程序。必须使用/作为目录分隔符包括Windows中。简单来说就是这个目录下可以执行。 禁用类/函数disable_classes ,disable_functions ,如disabe_functionopendir,readdir, scandir,fopen,unlink。接受逗号分隔的函数名列表作为参数。只能设置在php.ini中。 上传文件及目录权限 设置上传及最大上传文件大小file_uploadsonupload_max_filesize8M 文件上传临时目录upload_tmp_dir 上传临时文件保存的目录需要可写如果不设置则采用系统临时目录。/tmp、C:\window\Temp 用户访问目录限制open_basedir.:/tmp/open_basedir.;c:\windows\temp 使用open_basedir选项能够控制PHP脚本只能访问指定的目录这样能够避免PHP脚本访问不应该访问的文件一定程度上限制了phpshell的危害我们一般可以设置只能访问网站目录表示允许访问当前目录既PHP脚本文件所在之目录和/tmp/目录有效防止PHP木马跨站运行。 错误信息 错误信息控制display_error 是否将错误信息作为输出的一部分站点发布后应该关闭这项功能以免暴露信息调试的时候可以开启。 设置错误报告级别error_reporting E_all 生产环境既发布环境应设置为0 ?php error_reporting(E_ALL); …… ? 将错误级别设置为最高可以显示所有的问题方便查错。在php.ini中设置。推荐使用E_ALL|E_STRICT 即所有级别。 错误日志 error_log 错误日志的位置必须对web用户可写入如果不定义则默认写入到web服务器的错误日志中去。 log_error on 将错误日志输出到文件而不是直接输出到前端。 log_errors_max_length 1024 错误日志关联信息的最大长度设置为0表示无线长度。 魔术引号及远程文件 魔术引号magic_quotes_gpc on、magic_quotes_runtime off 为GPC(GET/POST/COOKIE)操作设置magic_quotes状态。当magic_quotes为on所有的单引号、双引号、反斜杠、NULL被一个反斜杠自动转义 本特性已自PHP 5.3.0起废弃并将自5.4.0移除。 是否允许打开远程文件allow_url_fopen on默认 本选项激活了URL形式的fopen封装协议使得可以访问URL对象例如文件。默认地封装协议提供ftp和http协议来访问远程文件。 是否允许包含远程文件allow_url_include off默认 本选项激活允许include、inclu_once、require、require_once等函数使用URL形式的fopen封装协议。简单来说就是可以包含远程文件。 随记 erroe_reporting(0); //关闭网站错误信息不报错 Print、echo、print_r显示数组内容、var_dump比print_r多显示了参数类型、exit 双引号解析变量、单引号不解析变量 超级全局变量 $GLOBALS 引用全局作用域中可用的全部变量但该变量必须是全局作用域。 $_SERVER 服务器和执行脚本环境信息 $_REQUEST 可以引用$_GET、$_POST、$COOKIE变量 $_ENV 环境变量 $_FILES 文件上传变量注意要有S 笨鸟先飞早入林笨人勤学早成材。转载请注明出处
撰写人fox-yu http://www.cnblogs.com/fox-yu/ 转载于:https://www.cnblogs.com/fox-yu/p/7746394.html