在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   #编辑

phpinfo();

?>

:wq! #保存退出

service php-fpm restart  #重启php-fpm

service nginx restart  #重启nginx

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PHP文件包含漏洞剖析

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

php安全开发(1)文件包含漏洞

开发过程总结的漏洞: 一,,如何造成包含漏洞:在通过函数包含文件时,由于没有对包含的文件名进行有效的过滤处理,被攻击者利用从而导致了包含了Web根目录以外的文件进来,就会导致文件信息的泄露甚至注入了恶 ...

随机推荐

HBase简介

HBase简介 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群. HB ...

C# 4 dynamic 动态对象 动态类型转换

public class User { //使用省缺参数,一般不需要再为多态做各种静态重载了 public User( string name = "anonym", string ...

Hadoop1.0.3集成eclipse开发

本文来自:http://www.ilablog.org/%E7%BC%96%E8%AF%91hadoop-eclipse%E6%8F%92%E4%BB%B6/ 本人由于工作原因目前没有亲自尝试,那位尝 ...

mac终端命令简介

mac终端命令简介(适合刚刚入手mac的新人们) 1.取得root权限 意义相当与windows中的超级管理员权限,甚至还要超出.root权限可以修改系统中的任何文件,不过对普通用户的意义不大,了解即 ...

【转】gcc warning: braces around scalar initializer (标量初始化的括号)

原文网址:http://stackoverflow.com/questions/3462513/gcc-warning-braces-around-scalar-initializer I have ...

Java深入解析读书笔记(一)

1. goto,const为java的两个保留关键字,无任何应用语法.因此从不使用.   goto 使用循环标签:if,break out,here实现goto的功能. 2. 标识符:可由字母数字下划 ...

常常搞不清楚SQLServer中的sp_columns来看一看

The sp_columns catalog stored procedure is equivalent to SQLColumns in ODBC. The results returned ar ...

SQL Server 数据库调整表中列的顺序操作

SQL Server 数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名.表是否可以调整列的顺序,其实可以自主设置,我们建议在安装 ...

git 本地安装

一.基本安装 1.下载Git   官方地址为:https://git-scm.com/download/win 2.下载完之后,双击安装,全部选择默认. 3.选择安装目录 4.选择组件 5.开始菜单目 ...

Svg.Js 父类的基础操作

一.SVG.Doc 创建SVG文档 var draw = SVG('drawing')

远程文件包含 php,php本地及远程文件包含漏洞相关推荐

  1. 本地文件与服务器同步,本地与服务器文件同步

    本地与服务器文件同步 内容精选 换一换 只有在本端设备为主用节点时支持该操作,当本端设备降至备用节点时,请前往对端设备进行操作.若倒换不成功,可勾选"强制倒换",进行强制操作.只有 ...

  2. git 删除本地和远程分支_如何在本地和远程删除Git分支

    git 删除本地和远程分支 In most cases, it is simple to delete a Git branch. You'll learn how to delete a Git b ...

  3. python下载大文件mp4_Python代码打开本地.mp4格式文件的方法

    Python代码打开本地.mp4格式文件的方法 想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件.我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放 ...

  4. JAVAScript把把文件数据保存到本地(下载文件)

    // <input type="file" name="file" id="file"/> let fileEl = docum ...

  5. mssql 远程无法连接mysql_在本地 怎么远程连接MSSQL数据库

    hp连接mssql数据库有几个注意事项,尤其mssql的多个版本.32位.64位都有区别. 首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=p ...

  6. phpstrom 本地编辑玩文件 自动临时映射到远程服务器

    第一步 : 先打开 Tools下面的 Deployment ,在里面找到 Automatic Upload(always) 并勾选 第二步:打开远程服务器在Mapping里面 Local path 为 ...

  7. php curl 下载图片,CURL实现下载远程图片并保存到本地

    WEB开发中我们经常使用一些简单的采集功能,这样可以自动把远程服务器的图片或资源直接采集保存到本地服务器中:实现下载远程图片并把它保存到本地有很多方法,比如可以直接能过file_get_content ...

  8. 如何删除本地和远程的 Git 分支

    文章目录 前言 一.删除本地分支 二.删除远程分支 三.注意点 总结 前言 我们利用git进行项目管理时,常常需要删除分支,分支分为本地分支和远程分支,本文主要介绍如何删除本地及远程分支. 一.删除本 ...

  9. 【git学习】本地关联远程仓库

    目录 一.本地仓库关联远程仓库(新建仓库) 二.拉取远程分支到本地(已有远程仓库) 一.本地仓库关联远程仓库(新建仓库) 本地新建工程,然后关联远程git仓库并向远程仓库提交代码. 1.本地新建工程, ...

最新文章

  1. Java 8 开发的 4 大技巧
  2. 自动驾驶进入第3阶段 ADAS黑科技守护开车人
  3. 一文介绍 Mysql 索引模型 B+ 树
  4. SAP财务中国本土好内容
  5. git只添加指定类型的文件的.gitignore规则
  6. 【线上分享】机器视觉编码标准与技术进展
  7. Java多线程(二)之Atomic:原子变量与原子类
  8. php可变变量讲解,PHP可变变量实例详解
  9. 多线程介绍与threading模块应用以及使用Thread类创建多线程
  10. Android内核开发:在源码树中添加新的app应用
  11. android自定义手势解锁View
  12. caffe上手:如何导出caffemodel参数
  13. 2014年5月第二个周末总结--保守自己的心
  14. vuex的基础小案例(黑马教程)
  15. python花瓣网图片_python制作花瓣网美女图片爬虫
  16. day20遍历数组指定输出的数组
  17. Windows 10 按电源键只关屏幕不休眠的解决办法
  18. v$active_session_history的wait_time和time_waited 列(转)
  19. vs code c语言安装视频,vscode怎样安装c语言环境
  20. (python)Day9丨测试代码

热门文章

  1. python分割pdf文档
  2. 房贷没放款前千万不要做的事
  3. 第3章 内核编程语言与环境(2)
  4. 戏人看戏--什么是Web3.0?区块链又是什么?如何写一个web3.0的界面?
  5. 微信小程序基于最新版1.0开发者工具分享-小试牛刀(视频) 发布流程
  6. 出入库条码扫描软件有哪些
  7. 数据库 MySQL 中 DQL 数据库查询语言(特别重要)
  8. Dango Web 开发指南 学习笔记 1
  9. 【《Real-Time Rendering 3rd》 提炼总结】(一) 全书知识点总览
  10. vue+springboot实现调用本地摄像头拍照上传后端使用百度ocr识别身份证信息