php allow_url_include的应用和解释


Posted in PHP onApril 22, 2010

因为这个原因,许多安全研究人员建议在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代码………

另一方面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扩展.

PHP 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
一个用php实现的获取URL信息的类
Jan 02 PHP
smarty模板局部缓存方法使用示例
Jun 17 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
利用PHP获取汉字首字母并且分组排序详解
Oct 22 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
Yii框架核心组件类实例详解
Aug 06 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 PHP
PHP时间类完整代码实例
Feb 26 PHP
php strcmp使用说明
Apr 22 #PHP
PHP 加密解密内部算法
Apr 22 #PHP
PHP 根据IP地址控制访问的代码
Apr 22 #PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 #PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 #PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 #PHP
一个PHP的String类代码
Apr 20 #PHP
You might like
php基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
python聊天程序实例代码分享
2013/11/18 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python注释详解
2016/06/01 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
大学生自我鉴定
2013/12/16 职场文书
节约电力资源的建议书
2014/03/12 职场文书
保护野生动物倡议书
2014/05/16 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技