在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. WinSCP无法连接 ubuntu 的解决方法

    ubuntu默认不安装sshd服务 需要sudo apt-get install ssh 你可以在ubuntu本机ssh localhost测试是否成功安装了ssh 因为WinSCP是基于ssh的sf ...

  2. 动态规划(DP)

    一.基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移.一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划. 二.基本思想与策略 基本 ...

  3. destoon系统中get_maincat的用法及解释

    get_maincat函数的用法, 如get_maincat(0, $mid, 1),其中第一.二.三个参数分别表示什么? 第一个参数代表parentid 第二个参数代表所有的分类 第三个参数 代表 ...

  4. -/bin/sh: ./led: not found的解决办法

    环境介绍: 开发板:qq2440 交叉编译器:arm-linux-gcc 3.4.1 内核版本:2.6.13 一.针对该类问题从两个方面入手: 1.从权限出发,权限不够会出现此问题 2.从库文件出发, ...

  5. JAVA 1.9 面向对象之封装

    1. 面向对象程序设计的三大基本特征:继承(Inheritence).封装(Encapsulation).多态(Polymorphism)2. 封装:类包含了数据与方法,将数据与方法放在一个类中就构成 ...

  6. Android导航栏菜单强制转换

    private void getOverflowMenu() { ViewConfiguration viewConfig = ViewConfiguration.get(this); try { F ...

  7. 基础笔记3(二)(专门处理String的正则表达式)

    1.常规判断一个字符串是以什么开头,是否是数字的判断方式有: a.通过比较每个字符,注意比较是字符值(ASc码值),不是字面值 String s="); //判断每个字符数组的每个字符 ch ...

  8. Sublime Text2 javascript格式化插件JsFormat

    一.安装方法: 按下快捷键 Ctrl+Alt+p 打开命令面板 输入install  这时下拉框第一项就会显示安装包控制器(这个需要初始化安装,不明白的搜索本站关于sublime Text2 的介绍) ...

  9. ubuntu16.04中将python3设置为默认

    直接执行这两个命令即可: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo upd ...

  10. VWmare workstation12.5中出现的问题

    安装VWmare Workstation12.5之后,出现只能从主机复制文件到虚拟机,但是虚拟机的文件不能直接拖到主机中进行复制.所以我们需要重新安装VWmare Tools. 在虚拟机的VM-> ...