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 相关文章推荐
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
php使用json_encode对变量json编码
Apr 07 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
php判断用户是否关注微信公众号
Jul 22 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
PHP数组操作简单案例分析
Oct 15 PHP
静态html文件执行php语句的方法(推荐)
Nov 21 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
PHP简单实现防止SQL注入的方法
Mar 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 操作调试的方法
2012/07/12 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
JQuery小知识
2010/10/15 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
Django实现全文检索的方法(支持中文)
2018/05/14 Python
python检测服务器端口代码实例
2019/08/31 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
flask开启多线程的具体方法
2020/08/02 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
马智宇结婚主持词
2014/04/01 职场文书
初三开学计划书
2014/04/27 职场文书
保护野生动物倡议书
2014/05/16 职场文书
离职证明标准格式
2014/09/15 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript