文件包含漏洞浅析

Web安全实战:利用Burp Suite通过Cookie触发文件包含漏洞 文件包含漏洞是Web应用安全中一种常见且危险的安全缺陷,其原理在于应用程序未对用户输入进行严格过滤,直接将其用于动态包含文件。攻击者可利用此漏洞读取服务器敏感文件,甚至执行任意代码,对系统造成严重威胁。在工程实践中,此类漏洞常出现在URL参数、表单数据等显式输入点,但容易被忽视的Cookie同样可能成为攻击入口。通过Burp Suite这一专业安全测试工具,安全人员可以拦截、分析和修改HTTP请求,深入探测包括Cookie在内的各类输入点。本次实战演练将聚焦于如何利用Burp Suite的代理拦截和Repe 阅读详情
正如我一如既往的习惯,进行漏洞测试前先研究下漏洞产生原理。
今天我们从理论上研究下文件包含漏洞,大多数web语言都可以使用文件包含操作,其中php提供文件包含操作太强大,太灵活,所以文件包含通常出现在php语言中。这是一个错误的认知,在其它语言中也可能出现文件包含漏洞。

今天我们就php语言为例讲一下。

Php包含

Php提供了四个文件包含的函数,分别是include(),include_once( ),require( )和require_once( )。
Php文件包含分为两种,一种是本地文件包含,一种是远程文件包含。
在以下代码测试中服务器环境为
Php 5.2.14
MySQL 5.1
Apache 2.0.63

1.本地文件包含 Local File Include(LFI)

ArrayUtil.php文件提供了字符串操作函数,代码如下:

<?php
   function PrintArr ( $arr, $sp=”-->”,$lin=”<br />”){
    foreach( )($arr as $key => $value){
     echo “$key $sp $value $lin”;
}
}
...
...
?>

Index.php对ArrayUtil.php进行包含,并且使用PrintArr函数,代码如下

 include(“ArrayUtil.php”); //对ArrayUtil.php进行包含
$arr = array(“张三”,“李四”,“王五”);
PrintArr($arr,”==>”);//使用PrintArr函数

index.php执行后结果如图:
这里写图片描述
接下来看另一个例子,phpinto.txt是一个正常的文本文件,但内容却是符合php语法的

<?php
 phpinto();
?>

在Index.php中包含phpinto.txt,代码如下:

 <? php
include(“phpinto.txt”);
?>

访问index.php,执行结果如图:

这里写图片描述

接下来将phpinto.txt的后缀改成“jpg”,“rar”,”doc”等都可以正常执行,这证明了无论文件的后缀是什么,只要内容符合php语法,任何扩展名都可以被php解析。

如果不符合php语法会发生什么呢?比如是数据库的配置文件db.Properies。

db.dbName=Myschool
db.username=root
db.password=root
db.port=3306

在index.php中包含db.Properies,代码如下:

<?php
Include(“db.Properies”);
?>

执行结果如图:
这里写图片描述
由此可知,如果不符合php语法则会暴露其源码。

2.远程文件包含 Remote File include (RFI)

如果要使用远程包含功能,首先要确定php远程包含功能选项是否开启(默认关闭),开启需要在php的配置文件里php.ini配置文件中修改,修改后需要重启web容器服务使其生效,选项如下:

allow_url_include=off  //把off改为on

下面是远程php文件包含例子:
http://www.2cto.com/根目录下包含php.txt文件,源码如下:

<?php
echo “Hello World”;
?>

Index.php的源码如下:

<?php
Include($_GET[‘page’]);
?>

访问
(http://www.xxxser.com/index.php?page=http://www.2cto.com/php.txt)

执行结果如图:

这里写图片描述
远程包含和本地包含没有区别,只要符合php语法就可以被解析。
基本知识暂时只叙述这些,至于漏洞利用会结合漏洞测试进行讨论,总之文件包含漏洞危害巨大,在某些情况下,我们甚至能够获取管理员的密码信息。

文件包含漏洞的危害与网络安全 文件包含漏洞是指在Web应用程序中,未经充分验证或过滤的用户输入被直接用于文件包含函数的参数中,从而允许攻击者包含任意文件。攻击者可以利用文件包含漏洞来读取、执行或包含敏感文件,甚至可能在受影响的系统上执行恶意代码。文件包含漏洞是一种常见的安全漏洞,它存在于许多Web应用程序中,并且可能导致严重的安全后果。本文将探讨文件包含漏洞的危害以及与网络安全相关的问题,并提供一些源代码示例来说明这种漏洞的工作原理。输入验证与过滤:对于接收用户输入的变量,应该进行充分的验证和过滤,以确保输入符合预期的格式和内容。 阅读详情

相关推荐

避坑指南:OpenWRT改AP模式必做的5个关键设置(DHCP/防火墙/WAN口处理)

本文详细解析了将OpenWRT设备从路由模式切换为AP模式时,必须完成的五个关键设置步骤。核心在于理解AP模式本质是带无线的智能交换机,需彻底关闭DHCP服务、调整防火墙策略、正确桥接所有物理接口(包括WAN口处理),并集成无线网络,以确保设备能透明接入主路由网络,避免出现设备隔离或无法互访等常见问题。

t1u2v的博客 733

文件操作之文件包含全解(31)

文件包含的作用就是将这个文件包含进去之后,会调用指定文件的代码。先将文件包含才能执行里面的一些相关代码,比如所想进行文件的链接,数据库的查询,就可以先包含一个数据库的配置文件, 再去链接的话就享有配置文件的一些配置信息,就不需要在进行相关的操作。它可以把一些功能性代码写到一个文件里面,然后用另外一个文件去包含这个文件,这样子就不再重复书写那个包含文件里面的代码。==#include file=”top.aspx”--> 这个aspx运行,包含了一个top.aspx文件。> php的写法。

san3144393495的博客 1265

深入C++学习还必须掌握的一基础知识精讲

施磊C++语言基础提高课程笔记,包括了new/delete;malloc/free;引用和指针;const,指计和引用的结合;函数重载,inline的数,参数带默认值的函数;函数模板等知识点

GeniusAng的博客 1477

Web漏洞之文件包含漏洞

公众号:黑客菌 分享更多技术文章,欢迎关注一起探讨学习 一、文件包含漏洞概述 1、漏洞介绍 程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这种文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。 在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露甚.

zkaqlaoniao的博客 7400

易盾滑块的js逆向分析

基于易盾的滑块验证码进行逆向分析,最种实现全系列的验证码逆向,包括滑块、点选、推理拼图等多种类型。

shanf7921的博客 3万+

基于DINO自监督学习对YOLO11 Backbone进行预训练

这PoolHead将获取前一层的输出并应用卷积,然后应用自适应平均池化以将特征图的空间维度减小为固定且一致的大小(1x1)。这是必需的,因为否则空间维度会根据输入的大小而变化,这将使将 DINO 头部附加到主干变得困难,因为它需要固定的输入大小。在本指南中,我们将介绍如何使用 Lightly 使用 DINO 预训练 YOLO 11主干,以及如何将其重新加载到 Ultralytics 中进行微调。您可以使用不同的大小,例如,640这与 YOLO 中的默认图像大小更一致,但它也会在训练期间消耗更多 VRAM。

如果想成为中心,那么就到中心去吧。 1014

文件包含漏洞概述、特征、利用条件、危害、防御

文件包含漏洞允许攻击者将外部文件注入到Web应用程序中。这通常发生在应用程序使用用户提供的输入来动态包含文件时,如配置脚本、语言本地化文件或用户数据。例如,在PHP中,如果应用程序使用include或require语句来包含用户指定的文件,而没有充分验证这些输入,攻击者就可以引入恶意脚本或配置文件,这些文件可能包含恶意代码或命令。

白帽黑客鹏哥的博客 1575

Python爬取马蜂窝旅游攻略详细实战指南

马蜂窝是国内非常知名的旅游攻略网站,包含了大量的景点介绍、旅行攻略、游记等信息。爬取马蜂窝的数据对于旅游数据分析、旅游产品推荐等有重要价值。但由于马蜂窝对爬虫有一定的反爬措施,并且页面中大量内容通过JavaScript动态加载,爬虫难度相对较大。本篇博客将带你从零开始,使用Python和相关爬虫技术,逐步实现对马蜂窝旅游攻略内容的高效爬取。并结合实战经验,分析反爬策略,提供科学合理的绕过方案。本文介绍了马蜂窝攻略的结构和抓取难点。演示了静态+动态内容的混合爬取技术。介绍了多线程和异步加速方法。

2201_76125261的博客 587

一文详解文件包含漏洞

file:// #访问本地文件系统http:// #访问HTTPs网址ftp:// #访问ftp URLphp:// #访问输入输出流zlib:// #压缩流data:// #数据expect:// #处理交互式的流glob:// #查找匹配的文件路径。

MachineGunJoe666 3202

51单片机最强模块化封装(3)

本篇文章将带大家继续封装我们的代码。这里我们会封装数码管的操作函数。我们又封装了一个模块啦,不知道现在大家有没有感受到模块化的强大呢。B站。

m0_49476241的博客 4061

Java高频面试基础问题与知识点整理

Java高频面试知识点总结:覆盖高频基础知识考点+高频集合知识点深入分析+高频多线程与并发编程面试题汇总+其他扩展考察等。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

攻防世界WEB(新手模式)1-17-fileclude

读取 file2 文件的内容,检查是否等于 "hello ctf"。这里用的是base64加密,也可直接用utf-8,出现flag。检查用户是否传递了 file1 和 file2 参数。加载 flag.php 文件(可能包含敏感信息)。如果条件满足,加载 file1 指定的文件并执行。检查 file1 和 file2 是否为空。这里第一时间想到用伪协议读取flag文件。上来就是一段代码审计,浅分析一下。高亮显示当前文件的源码。php为协议推荐这篇。

你好 638

9.16华为OD机试真题 新系统 - 统计特殊数字 (Java/Py/C/C++/Js/Go)

9.16华为OD机试真题 新系统 - 统计特殊数字 (Java/Py/C/C++/Js/Go)

算法大师! 755

文件包含漏洞

php文件包含漏洞,环境为phpstudy php文件包含分为本地包含和远程包含,导致文件包含的函数有: include(); include_once(); require(); require_once(); fopen(); readfile(); 一、 php本地文件包含漏洞(LFI)(使用include函数) 1、先来看一个简单的页面 新建一个phpinfo.txt: 再新建一个she...

wobushini的博客 410

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

浅析包含漏洞

什么是文件包含(漏洞)服务器在执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。这意味着您可以创建所有网页引用的标准页眉...

qq_45434762的博客 202

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

浅析条件竞争漏洞

目录0x00-前言0x01-基础知识0x02-漏洞分析0x03-CTF中的条件竞争 0x00-前言 条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的。开发者在进行代码开发时常常倾向于认为代码会以线性的方式执行,而且他们忽视了并行服务器会并发执行多个线程,这就会导致意想不到的结果,简而言之就是并没有考虑线程同步。因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。 0x01-基础知识 先来了解一下关于条件竞争的基础知识 条件竞争: 系统中,最小的运算

Atkx's Blog 4113

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

从开发的角度浅析Web安全漏洞

文件下载 //自定义文件直连下载 function filenameurl($name){ $url='http://'.$_SERVER['HTTP_HOST'].'/blog/soft/'.$name; #header("location:$url"); } 1、直连下载是安全的 访问PHP文件 会执行PHP并不会下载文件,只有访问除中间件解析的文件才会执行下载,否则就是执行脚本。 2、传参下载不安全 //自动以文件传参下载 function filenameget($name){ $fi

qq_49176777的博客 1844

浅析php文件包含及其getshell的姿势

0x1 前言  不管平时在打ctf或者代码审计的过程中,文件包含都是很薄弱、很常见的点,一般的开发人员可能觉得文件包含没有什么大问题,低估其造成的危害,我一个ctf爱好者也是这么认为的,直到最近打了几场ctf都出现了文件包含的点,然后被暴虐,才发现文件包含的利用面很广,所以就此打算写篇文章来记录下自己的学习过程。 0x2 认识和了解包含函数  PHP里面共有4个与文件包含相关的函数,分别是: include require include_once require_once 查看相关函数的文档了解他们

weixin_50464560的博客 2474

【CTFSHOW】web入门文件包含

【CTFSHOW】web入门文件包含 web78 if(isset($_GET['file'])){ $file = $_GET['file']; include($file); }else{ highlight_file(__FILE__); } 没有过滤,一开始想直接包含flag.php,发现一片空白。使用php://filter伪协议读取flag.php内容,进行base64解码得到flag。 payload: ?file=php://filter/convert.base6

7ruth0hn的博客 2645

09_上传漏洞_文件包含&二次渲染&代码逻辑漏洞

【本篇博客不对文件包含展开】正如前篇博客所述,白名单是一种极好的过滤方式,虽然php、asp代码中常常可以用00截断的方式绕过白名单过滤,但在服务器高版本的情况下,截断技术也会失效。那么这种情况下是否就没有思路进行渗透了呢?并不是,一种情况是出现了文件包含漏洞,也就是说这里上传的文件是合法的,但是其中含有恶意代码。存在文件包含漏洞漏洞前提下,合法文件可以通过某种方式作为脚本执行。当然本篇博客的内容重点不在于文件包含,安排这个板块的目的在于强调:漏洞的存在不是互斥的。因此,实战中对于漏洞的利用需要考虑“打组合

qq_42171569的博客 1497

php 目录遍历漏洞,浅析PHP程序中的目录遍历漏洞

目录遍历漏洞在国内外有许多不同的叫法,比如也可以叫做信息泄露漏洞,非授权文件包含漏洞.名称虽然多,可他们却有一个共同的成因,就是在程序中没有过滤用户输入的../和./之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件,其危害可想而知.这类漏洞大家比较熟悉的可能就是在一些邮件列表程序以及网络硬盘程序中,其实这类漏洞还广泛存在与一些国外的BLOG程序中,这类漏洞大概分两种下面就...

weixin_36125755的博客 477

文件包含漏洞深度利用:协议绕过与日志攻击实战解析

文件包含漏洞是Web安全领域的经典议题,其核心原理在于程序将用户可控数据未经充分验证直接拼接至文件包含函数,导致信任边界失控。从技术价值看,这不仅是简单的路径遍历,更可扩展为敏感信息泄露、代码执行的突破口,在渗透测试与安全防御中具有重要地位。应用场景广泛,尤其在与PHP伪协议结合时,攻击面显著扩大。例如,利用php://filter可绕过后缀限制读取源码,而日志文件污染则能将访问痕迹转化为攻击武器。本文聚焦于文件包含漏洞的进阶利用,深入探讨协议实操与日志攻击等高级手法,为安全研究人员和开发工程师提供实战参考

weixin_34396103的博客 442

零基础玩转CTFShow WEB1-7:手把手教你用Burp Suite抓包破解文件包含漏洞

本文为零基础安全爱好者提供了一份CTFShow WEB文件包含漏洞的实战指南。文章详细讲解了如何利用Burp Suite抓包工具,配合PHP伪协议和日志注入等技巧,从环境搭建、漏洞原理分析到实战破解,手把手带领读者完成漏洞利用并获取flag的全过程,旨在帮助新手快速建立解题思路并掌握核心实战方法。

weixin_29008055的博客 218

检测到目标url存在宽字节跨站漏洞_通用型漏洞审计浅析

一次性付费进群,长期免费索取教程,没有付费教程。进微信群回复公众号:微信群;QQ群:460500587教程列表见微信公众号底部菜单 |本文底部有推荐书籍微信公众号:计算机与网络安全ID:Computer-network安全漏洞审计,作为扫描器的核心功能,会告诉扫描器如何去检测和审计漏洞。它可以看作扫描器的大脑,通过对每一种漏洞进行场景化学习,从中提取漏洞的扫描特征,将其存储到扫...

weixin_39844426的博客 1431
上一篇: Dvwa渗透测试之命令注入笔记
下一篇: Dvwa漏洞测试之文件包含笔记
JBlock
博客等级 码龄9年 189粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值