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 URL编码解码函数代码
Mar 10 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
Thinkphp模板中截取字符串函数简介
Jun 17 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
apache集成php7.3.5的详细步骤
Jun 20 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二进制与字符串之间的相互转换教程
2016/10/14 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
js中null与空字符串""的区别讲解
2019/01/17 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
学习python (2)
2006/10/31 Python
python文件操作整理汇总
2014/10/21 Python
python搜索指定目录的方法
2015/04/29 Python
详解Python中find()方法的使用
2015/05/18 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
理解python中生成器用法
2017/12/20 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
浅析Python数据处理
2018/05/02 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
解决Django连接db遇到的问题
2019/08/29 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
初中三好学生自我鉴定
2014/04/07 职场文书
服务承诺书范文
2014/05/19 职场文书
2019思想汇报范文
2019/05/21 职场文书
工作建议书范文
2019/07/08 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL
Python学习之os包使用教程详解
2022/03/21 Python
python基础之//、/与%的区别详解
2022/06/10 Python