PHP5.2.0中allow_url_include的应用和解释

阿木木的小爱情

阿木木的小爱情

2016-01-29 13:23

PHP5.2.0中allow_url_include的应用和解释,PHP5.2.0中allow_url_include的应用和解释

    【PHPChina讯】PHP常常因为它可能允许URLS被导入和执行语句被人们指责。事实上,这件事情并不是很让人感到惊奇,因为这是导致称为Remote URL Include vulnerabilities的php应用程序漏洞的最重要的原因之一。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

    因为这个原因,许多安全研究人员建议在php.ini配置中禁用指向allow_url_fopen。不幸的是,许多推荐这种方法的人,并没有意识到,这样会破坏很多的应用并且并不能保证100%的解决remote URL includes以及他带来的不安全性。

    通常,用户要求在他们使用其他的文件系统函数的时候,php允许禁止URL包含和请求声明支持。

    因为这个原因,计划在PHP6中提供allow_url_include。在这些讨论之后,这些特性在php5.2.0 中被backported。现在大多数的安全研究人员已经改变了他们的建议,只建议人们禁止allow_url_include。

    不幸的是,allow_url_fopen和allow_url_include并不是导致问题的原因。一方面来说在应用中包含本地文件仍然是一件足够危险的事情,因为攻击者经常通过sessiondata, fileupload, logfiles,...等方法获取php代码………

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

    另一方面allow_url_fopen和allow_url_include只是保护了against URL handles标记为URL.这影响了http(s) and ftp(s)但是并没有影响php或date(new in php5.2.0) urls.这些url形式,都可以非常简单的进行php代码注入。

Example 1: Use php://input to read the POST data
<?php
// Insecure Include
  // The following Include statement will
   // include and execute everything POSTed
   // to the server

   include "php://input";
?
Example 2: Use data: to Include arbitrary code
<?php
 // Insecure Include
   // The following Include statement will
   // include and execute the base64 encoded
   // payload. Here this is just phpinfo()

   include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
?

    把这些放到我们的运算里面将会非常明显的发现既不是url_allow_fopen也不是url_allor_include 被保障。这些只是因为过滤器很少对矢量进行过滤。能够100%解决这个URL include vulnerabilities的方法是我们的Suhosin扩展.

    原文地址:http://blog.php-security.org/archives/45-PHP-5.2.0-and-allow_url_include.html

展开更多 50%)
分享

猜你喜欢

PHP5.2.0中allow_url_include的应用和解释

PHP
PHP5.2.0中allow_url_include的应用和解释

php 中include()与require()的对比

Web开发
php 中include()与require()的对比

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JSP中include指令和include行为的区别

Web开发
JSP中include指令和include行为的区别

Delphi 中压缩流和解压流的应用

Delphi
Delphi 中压缩流和解压流的应用

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JSP中include指令和include行为区别

Web开发
JSP中include指令和include行为区别

PHP开发中session应用详解

PHP
PHP开发中session应用详解

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash MX2004入门与进阶实例——绘图基础(3)

Flash MX2004入门与进阶实例——绘图基础(3)

如何使用动态共享对象模式进行PHP安装

如何使用动态共享对象模式进行PHP安装
下拉加载更多内容 ↓