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 相关文章推荐
GBK的页面输出JSON格式的php函数
Feb 16 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
php中的动态调用实例分析
Jan 07 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 PHP
PHP生成树的方法
Jul 28 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 PHP
PHP使用Redis替代文件存储Session的方法
Feb 15 PHP
PHP简单实现正则匹配省市区的方法
Apr 13 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教程孙仲岳主讲
2008/01/07 PHP
php去除重复字的实现代码
2011/09/16 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
Extjs 几个方法的讨论
2010/01/28 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
vue项目实战总结篇
2018/02/11 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
在python3环境下的Django中使用MySQL数据库的实例
2017/08/29 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
Python 串口通信的实现
2020/09/29 Python
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
法人代表证明书格式
2014/10/01 职场文书
学校师德师风整改措施
2014/10/27 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
入党函调证明材料
2015/06/19 职场文书
行政处罚告知书
2015/07/01 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫
VUE递归树形实现多级列表
2022/07/15 Vue.js