Remote Local File Inclusion (RFI/LFI)-文件包含漏洞

文件包含是一种功能,在各种开发语言中都提供了内置的文件包含函数。在PHP中,例如,可以使用include()和require()函数来引入另一个文件。这个被引入的文件可以当作PHP代码执行,而忽略其后缀本身。

// if( count( $_GET ) )
if( isset( $file ) )include( $file );
else {header( 'Location:?page=include.php' );exit;
}

文件包含功能可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件,从而让代码更加高效。但是,如果被包含的文件是一个变量,且这个变量可以由前端用户传进来,那么可能会引发文件包含漏洞。攻击者会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。

DVWA

级别low 

点击file1.php,文件名直接显示在了地址栏 (这种情况会出现文件包含)

 直接修改url中的文件,发现读取到了其他文件内容

<?php// The page we wish to display
$file = $_GET[ 'page' ];?>

低级别代码中,直接信任了用户输入,并返回了文件。

 级别中


<?php// The page we wish to display
$file = $_GET[ 'page' ];// Input validation
$file = str_replace( array( "http://", "https://" ), "", $file );
$file = str_replace( array( "../", "..\\" ), "", $file );?>

可以看到对输入的文件名进行了过滤,替换了https://,https://和../ ..\\ 

这种情况,仍能读取到其他文件,如读取目录下的a.txt,这里输出了内容123456。

级别高


<?php// The page we wish to display
$file = $_GET[ 'page' ];// Input validation
if( !fnmatch( "file*", 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/118886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

易点易动固定资产管理系统:高效盘点海量固定资产的得力助手

固定资产是企业重要的财务资源之一&#xff0c;盘点是保证固定资产准确性和完整性的关键环节。然而&#xff0c;对于拥有海量固定资产的企业来说&#xff0c;传统的手工盘点方式效率低下且容易出错。为了解决这一难题&#xff0c;易点易动固定资产管理系统应运而生。本文将深入…

虹科 | 解决方案 | 非道路移动机械诊断方案

虹科Pico汽车示波器为卡车、拖拉机、叉车、船只、联合收割机、挖掘机开发了专用的测试附件和软件测试菜单&#xff0c;比如 24 V 电池、Bosch Denoxtronic、J1939 通信、发动机和液压传动系统以及部件测试等。我们为从事重型车辆和非道路移动机械的维护与诊断的朋友&#xff0c…

Java New对象分配内存流程

一、流程图 二、流程介绍 1、进行逃逸分析&#xff0c;判断是否能够分配到栈上&#xff1a; Y&#xff1a; 如果能分配到栈上&#xff0c;则进行分配。等方法出栈时&#xff0c;对象内存销毁&#xff0c;可有效减少GC的次数。 N&#xff1a;无法分配到栈上&#xff0c;则判断是…

VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群

Hello&#xff0c;world&#xff01; &#x1f412;本篇博客使用到的工具有&#xff1a;VMware16 &#xff0c;Xftp7 若不熟悉操作命令&#xff0c;推荐使用带GUI页面的CentOS7虚拟机 我将使用带GUI页面的虚拟机演示 虚拟机&#xff08;Virtual Machine&#xff09; 指通过…

XTU-OJ 1227-Robot

题目描述 假设在一个XOY坐标的平面上&#xff0c;机器人一开始位于原点&#xff0c;面向Y轴正方向。 机器人可以执行向左转&#xff0c;向右转&#xff0c;向后转&#xff0c;前进四个指令。 指令为 LEFT:向左转RIGHT:向右转BACK:向后转FORWORD n:向前走n(1≤n≤100)个单位 现在…

【环境】Linux下Anaconda/ Miniconda安装+百度Paddle环境搭建+Cudnn(3090显卡+CUDA11.8+cudnn8.6.0)

清华源帮助链接&#xff1a;https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 下载链接&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 其他深度学习环境相关博文&#xff1a;【stable-diffusion】4090显卡下dreambooth、lora、sd模型微调的GUI环境…

计算机网络-TCP协议

面向连接的运输&#xff1a;TCP TCP连接 TCP被称为面向连接的&#xff0c;因为在应用程序开始互传数据之前&#xff0c;TCP会先建立一个连接&#xff0c;该连接的建立涉及到三次“握手”。 TCP的连接不是一条真实存在的电路&#xff0c;而是一条逻辑链接&#xff0c;其共同状…

遍历树形结构记录

例如: 这是递归对树形结构的遍历 findMatchingValue(json1,json2){ if(json1.defaultLabel&&json2.some(item>item.titlejson1.defaultLabel)){ //将匹配的值保存起来 this.matchedValue.push(json1.defaultLabel) } if(json1.childrens&&json1.childrens.…

8.3 矢量图层点要素单一符号使用二

文章目录 前言单一符号&#xff08;Single symbol&#xff09;渲染图片标记&#xff08;Raster Image marker&#xff09;QGis代码实现 动画标记&#xff08;Animated marker&#xff09;QGis代码实现 总结 前言 上一篇教程介绍了矢量图层点要素单一符号中简单标记和svg标记本…

SiteGround主机最新购买使用指南及外贸建站教程

SiteGround是一家知名的虚拟主机服务提供商&#xff0c;它在过去几年中在WordPress和WooCommerce建站领域取得了显著的发展和改进。SiteGround致力于为用户提供专门针对WordPress优化的虚拟主机&#xff0c;并将WordPress深度集成到其主机服务中&#xff0c;使外贸建站过程变得…

GPT的前世今生:从gpt1到chatgpt的能力提升

从2017年google brain提出transformer模型&#xff0c;到2018年基于transformer模型open ai推出了gpt1模型以及google推出了bert模型&#xff0c;到2019-2021年open ai陆续推出gpt2和gpt3&#xff0c;再到2022-2023年推出chat-gpt和gpt4&#xff0c;大语言模型已经发展成了一个…

遥感语义分割、变化检测论文小trick合集(持续更新)

目录 &#x1f497;&#x1f497;1.影像融合机制 &#x1f497;&#x1f497;2.上下文聚合模块 &#x1f497;&#x1f497;3.adapter即插即用模块 &#x1f497;&#x1f497;1.影像融合机制 参考【多源特征自适应融合网络的高分遥感影像语义分割】文章中的“多源特征自适应…

快速排序(c语言代码实现)

交换排序&#xff1a;快速排序&#xff08;不稳定的排序&#xff09; 快速排序&#xff08;Quick Sort&#xff09;是一种常见的排序算法&#xff0c;它采用分治法的思想&#xff0c;对待排序序列进行划分&#xff0c;使得划分出的子序列可以分别进行排序&#xff0c;最终使整…

淘宝商品链接获取淘宝商品评论数据(用 Python实现淘宝商品评论信息抓取)

在网页抓取方面&#xff0c;可以使用 Python、Java 等编程语言编写程序&#xff0c;通过模拟 HTTP 请求&#xff0c;获取淘宝多网站上的商品详情页面评论内容。在数据提取方面&#xff0c;可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#…

Docker 镜像常用命令总结

目录 1. Docker镜像相关命令(重点掌握) 1.1 docker pull 镜像名称 [:tag] 拉取镜像 1.2 docker search 镜向名称 (查询某个镜像) 1.3 docker images 列出当前主机上所有镜像 1.4 docker rmi 镜像ID 删除镜像 1.5 docker system df 查看所有镜像容器所占空间 2. Docker …

JMeter + Ant + Jenkins持续集成-接口自动化测试

需要安装的工具&#xff1a; jdk1.8jmeter3.2ant1.9jenkins2.1 1、Jdkwin7系统如何安装jdk及环境变量的配置-百度经验 安装包安装设置环境变量验证是否安装正确 Java -version检查&#xff0c;如下就代表安装成功了&#xff0c;环境变量设置就去搜索了&#xff0c;网上很多…

牛客网刷题-(4)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

prosemirror 学习记录(四)decoration

使用 decorations 使用 props - decorations() 添加 decorations 写一个简单的插件&#xff1a;高亮所有 apple 节点 export const MyHighlightApplesPlugin new Plugin({props: {// view 每次变化都会执行 decorations 方法decorations(state) {let arrs [];state.doc.de…

QT项目如何打包成可执行文件

QT项目打包成可执行文件 一 建立一个文件夹二. 编译2.1 打开QT MSVC编译工具2.2 进入publish文件夹 一 建立一个文件夹 例如&#xff1a;publish 二. 编译 2.1 打开QT MSVC编译工具 2.2 进入publish文件夹 cd 路径 执行命令 windeployqt 项目名 例&#xff1a;windeployq…

美海军用于情报、监视和侦察的中大型无人系统概述

源自&#xff1a;中国指挥与控制学会 “人工智能技术与咨询” 发布 简 介 1 引 言 2 超大型无人潜航器 图1 波音“回声航行者”无人潜航器 图2 “虎鲸”超大型无人潜航器 3 中型无人水面舰艇 图3 “海鹰”无人水面舰艇 图4 “海上猎人”无人水面舰艇 4 …