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 相关文章推荐
PHPMyAdmin 快速配置方法
May 11 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
简单的php新闻发布系统教程
May 09 PHP
ThinkPHP之R方法实例详解
Jun 20 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
PHP中if和or运行效率对比
Dec 12 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
详解PHP发送邮件知识点
May 06 PHP
Laravel + Elasticsearch 实现中文搜索的方法
Feb 02 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
基于文本的留言簿
2006/10/09 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
PHP微信分享开发详解
2017/01/14 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
js倒计时小程序
2013/11/05 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
js中json处理总结之JSON.parse
2016/10/14 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
Django学习笔记之Class-Based-View
2017/02/15 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
九州传奇上机题
2014/07/10 面试题
学校火灾防控方案
2014/06/09 职场文书
人代会标语
2014/06/30 职场文书
品牌转让协议书
2014/08/20 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
银行给客户的感谢信
2015/01/23 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
vue+element ui实现锚点定位
2021/06/29 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js
Java中的随机数Random
2022/03/17 Java/Android