php allow_url_include,allow_url_include的应用和解释

php allow_url_include,allow_url_include的应用和解释PHP常常因为它可能允许URLS被导入和执行语句被人们指责。事实上,这件事情并不是很让人感到惊奇,因为这是导致称为RemoteURLIncludevulnerabilities的php应用程序漏洞的最重要的原因之一。因为这个原因,许多安全研究人员建议在php.ini配置中禁用指向allow_url_fopen。不幸的是,许多推荐这种方法的人,并没有意识到,这样会破坏很多的应用并且并不能保证1…

大家好,又见面了,我是你们的朋友全栈君。

PHP常常因为它可能允许URLS被导入和执行语句被人们指责。事实上,这件事情并不是很让人感到惊奇,因为这是导致称为Remote URL Include vulnerabilities的php应用程序漏洞的最重要的原因之一。

因为这个原因,许多安全研究人员建议在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扩展.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162826.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前导问题word使用技巧—解决Word 生成目录时前导符不一致的问题(即通常所谓的目录中省略号大小不一致)…

    前导问题word使用技巧—解决Word 生成目录时前导符不一致的问题(即通常所谓的目录中省略号大小不一致)…

    2021年8月24日
    902
  • vim的复制粘贴命令_vim编辑器常用命令

    vim的复制粘贴命令_vim编辑器常用命令接触linux操作系统之后使用vi/vim编辑器用的就比较多,其实vi/vim编辑文件特别方便,但是一些常见的指令模式下的命令确很容易忘,特别是复制剪切粘贴经常忘,所以小结下以后查用起来比较方便。1.复制剪切粘贴撤销复制:复制一行则:yy复制三行则:3yy,即从当前光标+下两行。复制当前光标所在的位置到行尾:y$复制当前光标所在的位置到行首:y^剪切:剪切一行:dd前切三

    2022年9月22日
    0
  • 选择性忽略的心理_选择性忽略是什么意思

    选择性忽略的心理_选择性忽略是什么意思Python:PyCharm选择性忽略PEP8警告PyCharm是个很强大的pythonIDE,PEP8的告警提示也很好用,但是函数名不能包含大写字母等少数几个规范真心觉得不好,如何取消呢?见下述步骤:在Ignorederrors中添加要忽略的告警ID。注意,要区分是属于coding还是naming。错误代码code samplemessage N801 classnamesshoulduseCapWordsconvention N8

    2022年8月29日
    0
  • c++酒店管理系统源代码_c语言酒店管理系统实验报告

    c++酒店管理系统源代码_c语言酒店管理系统实验报告现今大多数宾馆所提供的服务样式都各式各样,规模大小也是各有不同,但是归总下来,不可或缺的两类模块还是顾客和工作人员。由于对宾馆行业内部没有很深刻的理解,此次系统设计包括数据库和功能模块都是根据网上收集到的材料和个人认知上,简单模仿和具体实现的。为满宾馆管理的实际需求,本系统主要实现以下功能:入住登记:登记所入住房间号码,登记顾客入住时间,退房时间,个人信息(身份证号,手机号,姓名)退房办理:输入已经入住的房间号,确认完毕即可退房。房间查询:管理员输入正确的密码后即可对房间状态查询,和具体入住信息查

    2022年9月24日
    0
  • idea-2021.12.13的激活码(JetBrains全家桶)

    (idea-2021.12.13的激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月30日
    113
  • pip卸载重新安装_python怎么更新pip

    pip卸载重新安装_python怎么更新pip不小心将python带的pip卸载了,怎么办?刚在更新pip的时候没有安装成功,但是却卸载成功了!于是乎pip就没有了。上网一查找到解决办法。找到你python的安装目录的scripts文件夹。win+R打开DOS命令窗口输入cmd;cd到你的Scripts文件夹中:具体做法为:(1):直接输入盘符:(2):cd到你的python安装目录下的的Scripts文件夹下:(…

    2022年10月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号