文章总结: 本文系统讲解CTF比赛中Linux文件包含与路径遍历漏洞的核心原理与实战技巧。文章详细解析了…/目录穿越机制、常见Flag存放路径,并提供了无过滤、嵌套绕过、编码绕过等Payload库。针对新手设计了标准化四步解题流程,包含题型识别、基础Payload测试、绕过技巧应用等可操作建议,帮助零基础选手快速掌握文件类题目解题方法。 综合评分: 85 文章分类: CTF,WEB安全,漏洞分析,渗透测试,红队
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文件包含与路径遍历漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论