CTF比赛入门第九期:Linux文件包含与路径遍历漏洞

admin 2026-06-24 05:33:59 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文系统讲解CTF比赛中Linux文件包含与路径遍历漏洞的核心原理与实战技巧。文章详细解析了…/目录穿越机制、常见Flag存放路径,并提供了无过滤、嵌套绕过、编码绕过等Payload库。针对新手设计了标准化四步解题流程,包含题型识别、基础Payload测试、绕过技巧应用等可操作建议,帮助零基础选手快速掌握文件类题目解题方法。 综合评分: 85 文章分类: CTF,WEB安全,漏洞分析,渗透测试,红队


cover_image

CTF比赛入门第九期:Linux文件包含与路径遍历漏洞

点击关注👉 点击关注👉

网络安全学习室

2026年6月23日 10:49 湖南

在小说阅读器读本章

去阅读

一、题型认知:什么是路径遍历与文件包含?

很多新手做题时经常遇到「文件读取、页面引入、自定义文件参数」类题目,完全无从下手,本质就是这两类漏洞,我们零基础通俗拆解。

1、路径遍历漏洞(目录穿越)

Web站点为了读取图片、日志、配置文件,会接收用户传入的文件路径参数。如果未对路径做过滤,攻击者可通过**../** 向上穿越目录,突破网站根目录限制,读取服务器任意私密文件。

通俗理解:网站只允许你读当前文件夹的文件,我们用 ../ 跳出文件夹,读取根目录的Flag、配置、密钥文件。

2、文件包含漏洞

站点支持动态引入文件、模板、日志文件,通过参数控制加载文件。若参数可控且无过滤,可加载本地任意文件、甚至恶意文件,实现源码读取、信息泄露、代码执行。

核心考点区别(新手必记)

1、路径遍历:主打读取任意服务器文件(Flag、密码、配置);

2、文件包含:主打加载解析文件,可读源码、执行代码;

3、两类漏洞常组合出题,是CTF文件题型的核心组合考点。

二、漏洞核心原理(Linux服务器专属特性)

CTF绝大多数Web题目均基于Linux服务器,Linux的目录层级特性是这类漏洞的核心根源。

1、目录穿越核心符号:../

../ 代表返回上一级目录,多次拼接即可层层跳出网站根目录:

./  当前目录

../  上一级目录

../../  上两级目录

../../../  上三级目录(直达Linux根目录常用)

2、Linux CTF必考核心路径(直接背诵)

所有Linux CTF文件题,Flag99%存放在固定路径,无需猜测:

1、根目录Flag:/flag/flag.txt(最常用)

2、网站目录Flag:/var/www/flag/var/www/html/flag.txt

3、用户目录Flag:/home/ctf/flag

4、系统配置文件:/etc/passwd(验证目录穿越成功探针文件)

三、零基础通用Payload库(赛场直接复制使用)

整理CTF新生赛、校赛通杀Payload,覆盖无过滤、基础过滤场景,新手无脑套用即可。

1、路径遍历万能Payload(读取Flag)

?file=../../../../flag

?file=../../../../flag.txt

?file=../../../var/www/html/flag.txt

?file=../../../../etc/passwd

2、基础过滤绕过Payload(高频考点)

很多题目过滤了 ../,可使用嵌套绕过,服务器解析后自动还原为../:

?file=….//….//flag

?file=….\/….\/flag

3、文件包含基础Payload

读取本地源码:?file=index.php

读取日志文件:?file=../../../../var/log/nginx/access.log

四、CTF经典真题逐题拆解(零基础可复现)

本期全部选用非PHP依赖、Linux通用题型,适配所有Web架构,新手看完直接上手做题。

题型1:无过滤路径遍历签到题(入门必刷)

题目场景

页面存在可控参数 ?file=,默认读取当前目录的logo图片、txt文件,无任何过滤,提示可自定义文件路径。

解题步骤

1、题型判断:存在file文件参数,优先测试路径遍历漏洞;

2、构造Payload穿越目录,读取根目录Flag;

3、最终请求链接:?file=../../../../flag

4、页面直接回显完整Flag,解题完成。

解题原理

通过多层../层层跳出网站运行目录,直达Linux系统根目录,读取Flag文件内容。

题型2:过滤../的进阶绕过题(赛场高频)

题目限制

系统过滤了 ../ 字符,直接使用基础Payload会被拦截,无法穿越目录。

解题思路:嵌套字符绕过

利用服务器过滤机制缺陷:单次过滤只会删除一层//,嵌套….// 会被自动解析为 ../

最终Payload

?file=....//....//....//flag

成功绕过过滤,读取根目录Flag文件内容。

题型3:文件包含源码读取题

题目场景

页面支持加载自定义模板文件,参数?temp= 可控,无路径过滤,需要读取隐藏源码获取Flag。

解题步骤

1、判断漏洞:参数可控、支持文件加载,存在文件包含漏洞;

2、构造Payload读取本地核心源码:?temp=../../../../var/www/html/source.txt

3、源码中隐藏Flag密钥,成功解题。

五、高阶绕过技巧(适配中等难度赛事)

针对新生赛进阶题型,补充3个高频绕过技巧,解决大部分过滤限制。

1、绝对路径绕过

部分题目拦截相对路径../,可直接使用Linux绝对路径读取文件:

?file=/flag

?file=/etc/passwd

2、编码绕过

过滤特殊符号时,可对../进行URL编码:

../ 编码后:%2e%2e%2f

Payload:?file=%2e%2e%2f%2e%2e%2fflag

3、截断绕过(旧版本环境通用)

部分老旧服务器支持%00空字符截断,可绕过后缀固定限制:

?file=../../../../flag%00.txt

六、赛场标准化解题流程(新手无脑套用)

针对所有Linux文件类CTF题目,统一四步解题法,零思路也能做题:

第一步:识别题型

出现 file、temp、path、read、load 等文件读取/加载参数,直接判定为文件漏洞题型;

第二步:优先测试基础Payload

先试绝对路径 /flag,再试多层 ../ 遍历;

第三步:遇过滤优先嵌套绕过、编码绕过

拦截../用….//嵌套,拦截关键字用URL编码;

第四步:无Flag则读取系统探针文件

读取 /etc/passwd 验证漏洞存在,再逐步排查Flag路径。

七、新手高频避坑指南(赛场必看)

1、区分相对路径与绝对路径

相对路径依赖当前目录,层级不够无法穿透;绝对路径直达根目录,成功率更高;

2、不要局限PHP文件

本期题型通杀所有Web架构,无需纠结后端语言,核心看Linux文件特性;

3、层数适配环境

../../../../ 四层目录适配99%赛场环境,层数过少无法穿透,过多不影响结果;

4、区分遍历与包含

单纯读文件用路径遍历,加载解析文件用文件包含,不要混淆Payload。

八、课后实操练习(本期专属题库)

练习1(基础路径遍历)

题目场景:Web页面存在参数 ?path=,支持读取本地文件,无过滤。

要求:构造Payload读取Linux根目录Flag文件。

练习2(过滤绕过进阶题)

题目场景:过滤了 ../ 字符,存在文件读取漏洞。

要求:使用嵌套绕过技巧,成功获取Flag。

文末学习福利

如果你也是零基础、想参加CTF比赛但不知道从哪开始,可以点击文末阅读原文领取200节攻防教程,帮你少走弯路。后续我会持续更新网安实战、就业、副业相关干货,关注我,带你从零基础一步步靠网安变现。

九、下期预告(第十期全新题材)

本期我们拿下了通用型Linux文件遍历与文件包含漏洞,补齐了CTF Web文件类所有入门考点,彻底脱离PHP、Python单一语言局限,掌握通用Web漏洞思维。

CTF比赛入门第十期我们将开启CTF密码学入门全新赛道,精讲新手最常用的栅栏密码、凯撒密码、Base64/Base32编码、常见杂项解密套路,搞定CTF最简单、最稳的密码学签到题!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络安全学习室 点击关注👉 点击关注👉《CTF比赛入门第九期:Linux文件包含与路径遍历漏洞》

    非常用403绕过Tips 网络安全文章

    非常用403绕过Tips

    文章总结: 本文介绍了一种通过Base64编码绕过403访问限制的技术方法。当直接访问文件路径返回403时,将路径进行Base64编码后传递可成功绕过过滤。文档
    评论:0   参与:  0