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实现rc4加密算法代码
Apr 25 PHP
解析php获取字符串的编码格式的方法(函数)
Jun 21 PHP
通过table标签,PHP输出EXCEL的实现方法
Jul 24 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
php微信开发接入
Aug 27 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
CI框架表单验证实例详解
Nov 21 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
PHP中mysqli_get_server_version()的实例用法
Feb 03 PHP
PHP操作Redis常用命令的实例详解
Dec 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生成16位随机数的代码(两种方法)
2014/09/16 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
2011/11/07 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
Javascript实现单例模式
2016/01/24 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
Python是编译运行的验证方法
2015/01/30 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
小学生节约用水倡议书
2014/05/15 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
异地年检委托书范本
2014/09/24 职场文书
文明单位申报材料
2014/12/23 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
redis连接被拒绝的解决方案
2021/04/12 Redis
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
MongoDB支持的索引类型
2022/04/11 MongoDB