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 相关文章推荐
关于BIG5-HKSCS的解决方法
Mar 20 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
PHP技术开发微信公众平台
Jul 22 PHP
php封装的smartyBC类完整实例
Oct 19 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
浅谈php处理后端&接口访问超时的解决方法
Oct 29 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP中递归的实现实例详解
Nov 14 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 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 和 HTML
2006/10/09 PHP
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
layui文件上传实现代码
2017/05/20 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
Python代理抓取并验证使用多线程实现
2013/05/03 Python
利用Python如何生成便签图片详解
2018/07/09 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
大学军训感言
2014/01/10 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
设计大赛策划方案
2014/06/13 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
个性车贴标语
2014/06/24 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
喋血孤城观后感
2015/06/08 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
7个你应该知道的JS原生错误类型
2021/04/29 Javascript