在php程序中包含有file inclusion的时候,php要开启一下两个功能:

allow_url_fopen on
allow_url_include on

但是开启这两个功能之后伴随的是url漏洞,例如:

http://192.168.2.109/DVWA-1.9/vulnerabilities/fi/?page=include.php

这个连接是正常的连接,但是如果在page后面访问的如果是C:\XXX文件,这样就是php的一个漏洞,如何去防御这种注入

有很多人说把allow_url_fopen on 以及allow_url_include on关闭,但是,关闭之后php很多功能模块无法使用,现在最好的解决方法是用Suhosin。

Suhosin是php的一个扩展模块,能够加强php脚本语言的安全性。

有关Suhosin的详细信息请参见:http://www.shenqhy.com/using-the-php-suhosin-protect-your-environment-install-suhosin.html

linux下php安装Suhosin

1、安装编译工具
yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl
2、安装suhosin
cd /usr/local/src  #进入软件包存放目录
wget http://download.suhosin.org/suhosin-0.9.33.tgz  #下载
tar zxvf suhosin-0.9.33.tgz  #解压
cd suhosin-0.9.33  #进入安装目录
/usr/local/php5/bin/phpize  #用phpize生成configure配置文件
./configure  --with-php-config=/usr/local/php5/bin/php-config  #配置
make  #编译
make install  #安装
安装完成之后,出现下面的界面,记住以下路径,后面会用到。
/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/  #suhosin模块路径
3、配置php支持suhosin
vi /usr/local/php5/etc/php.ini  #编辑配置文件,在最后一行添加以下内容
extension="suhosin.so"
4、测试
vi /usr/local/nginx/html/phpinfo.php   #编辑
<?php
phpinfo();
?>
:wq! #保存退出
service php-fpm restart  #重启php-fpm
service nginx restart  #重启nginx

至此可以用phpinfo查看php中关于SUhosin信息。

参见:http://www.osyunwei.com/archives/5313.html

php本地及远程文件包含漏洞的更多相关文章

  1. 18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

    phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613) phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.其index.php中存在一处文件包含逻辑, ...

  2. DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553)

    DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553) 一.漏洞描述 该漏洞在/install/index.php(index.php.bak)文件中,漏洞起因是$$符号使用不当 ...

  3. CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现

    CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 参考文章1 参考文章2 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞. ...

  4. phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

    漏洞详情 范围 phpMyAdmin 4.8.0和4.8.1 原理 首先在index.php 50-63行代码 $target_blacklist = array ( 'import.php', 'e ...

  5. 记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)

    题目很简单,一个滑稽 打开源码,发现存在source.php文件 于是访问文件,发现出现一串php源码 提示存在hint.php,于是访问发现一句话 flag not here, and flag i ...

  6. dedecmsv5.7sp1远程文件包含漏洞审计

    dedecms5.7 sp1版本存在远程文件包含漏洞,在此记录审计复现漏洞过程. 漏洞在/install/index.php(index.php.bak)文件中,漏洞起因是$$符号使用不当,导致变量覆 ...

  7. Vulhub-Phpmyadmin 4.8.1远程文件包含漏洞

    前言:Phpmyadmin是一个用PHP编写的免费软件工具,旨在处理Web上的MySQL管理. 该漏洞在index.php中,导致文件包含漏洞 漏洞环境框架搭建: cd vulhub-master/p ...

  8. PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)

    摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的 ...

  9. PHP文件包含漏洞剖析

    一. 什么才是”远程文件包含漏洞”?回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的. ...

随机推荐

  1. 7. Swift 基于Xmpp和openfire实现一个简单的登录注册

    1. 基本步骤:首先导入Xmpp框架,配置环境 ->由于我们使用的是OC的Xmpp框架,再进行Swift开发时需要进行桥接. 具体方法就是创建一个基于c的.h的头文件,然后将我们需要编译OC的语 ...

  2. 扩展卡尔曼滤波(MRPT)

    EKF relies on a linearisation of the evolution and observation functions which are good approximatio ...

  3. gradle相关配置内容解析

    gradle 项目的构建工具,基于groovy语言.主要用于管理依赖包. as中一般将gradle下载在C:\Documents and Settings<用户名>.gradle\wrap ...

  4. 最详细的Log4j使用教程

    日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...

  5. AVSampleBufferDisplayLayer----转

    http://blog.csdn.net/fernandowei/article/details/52179631 目前大多数iOS端的视频渲染都使用OpenGLES,但如果仅仅为了渲染而不做其他的例 ...

  6. 【java基础】面向对象的三大特征---多态

    java的引用变量有两种类型,编译时类型和运行时类型,如果编译时类型和运行时类型不一致,就会出现多态. 多态分为: 运行时多态 java运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称 ...

  7. jQuery 表格删除,添加行

    var colsNum = 4; 1,$(document),ready(function () { $.("#id1").parent().after('<tr class ...

  8. ireport5.6+jasperreport6.3开发(三)--以javabean为基准的报表开发(javabean)

    这里只有ireport的开发没有web侧的程序. ireport的数据源可以说是多种多样,大致可以通过文件 数据库 bean类这三种方式,这里只介绍bean类 (数据库比较简单可参考其他的网站,文件没 ...

  9. ie8下背景图片平铺问题

    IE9+及其他浏览器实现背景图片平铺可能需要一个属性就可以background-size:100%/cover; 但是ie8下background-size是不兼容的,因此我们需要用到滤镜,来解决背景 ...

  10. js文件如何最后加载

    总结一下,大概有三种方式 1.最简单粗暴的:将js文件放在最后写 2.window.onload当一个文档完全下载到浏览器中时,才会触发window.onload事件.这意味着页面上的全部元素对js而 ...