完整教程:BUUCTF[ACTF2020 新生赛]Include 1题解
BUUCTF[ACTF2020 新生赛]Include 1题解
- 题目分析:
- 知识准备:
- `php://filter` 过滤器参数说明
- 常用过滤器功能对照表
- 开始解题:
- 原理解析
- 构造payload
- 总结
题目分析:
生成靶机,打开网址,查看源码,抓包查看有无隐藏信息(公式化)。
点击tips:
发现一段留言:Can you find out the flag?
,同时我们观察url
http://163da250-9a0d-4ec7-9002-49df5c87e38b.node5.buuoj.cn:81/?file=flag.php
结合题目标题以及url中的?file=flag.php
,几乎就可以断定有文件包含漏洞了。
知识准备:
在开始解题之前,我们需要了解PHP伪协议
的知识:
PHP伪协议通过替换数据报的头部信息来欺骗网络协议。
以下是关于 php://filter
参数的过滤器整理表格:
php://filter
过滤器参数说明
参数类型 | 过滤器名称 | 作用 |
---|---|---|
必须项 | resource=<要过滤的数据流> | 指定待筛选过滤的数据流(必填) |
可选项(读链) | read=<过滤器1|过滤器2> | 为读链设置一个或多个过滤器,用管道符 | 分隔 |
可选项(写链) | write=<过滤器1|过滤器2> | 为写链设置一个或多个过滤器,用管道符 | 分隔 |
默认链 | <过滤器1|过滤器2> | 未加前缀的过滤器列表将根据操作类型(读/写)自动应用到对应链 |
常用过滤器功能对照表
过滤器类型 | 过滤器名称 | 作用 |
---|---|---|
字符串过滤器 | string.rot13 | 等同于 str_rot13() ,进行 ROT13 字符变换 |
string.toupper | 等同于 strtoupper() ,将字符串转为大写 | |
string.tolower | 等同于 strtolower() ,将字符串转为小写 | |
string.strip_tags | 等同于 strip_tags() ,移除 HTML/PHP 标签 | |
转换过滤器 | convert.base64-encode | 等同于 base64_encode() ,进行 Base64 编码 |
convert.base64-decode | 等同于 base64_decode() ,进行 Base64 解码 | |
convert.quoted-printable-encode | 将 8-bit 字符串编码为 Quoted-Printable 格式(可打印字符) | |
convert.quoted-printable-decode | 将 Quoted-Printable 格式解码为 8-bit 字符串 |
开始解题:
原理解析
后端代码大概可能是下面这样:
include($_GET['file']
)
如果我不使用PHP伪协议,读取flag.php之后,include()
就会自动执行其中的PHP代码,这样就无法在网站前端阅读到完整的源码。但是如果我们使用php://filter
,对文件中的命令进行一些处理,就可以获得完整的源码。
构造payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
payload中的每一个过滤器都能从上面的表格中找到,payload实现了把flag.php中的所有字符转换为BASE64
编码,以逃脱include()
执行php代码,获得完整源码
BASE64解码得到:
<?php
echo "Can you find out the flag?"
;
//flag{5b7c82b0-4473-42a3-bb8c-068dcd50a1d0}
FLAG被注释掉了,但是通过PHP伪协议找到了。
总结
本题的提示还是非常明显的,没有绕弯,主要考察了CTFer对文件包含漏洞和PHP伪协议的理解,总的来说不是很难适合初学者(比如我)。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931342.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
2025 年国内磁选机厂家最新推荐排行榜:立环 / 高梯度 / 油冷立环磁选机优质厂商实力解析
在矿产加工与原料提纯行业中,磁选机作为核心分选设备,其品质、适配性与后续服务直接决定企业生产效率、产品纯度及运营成本。当前市场存在品牌杂乱、型号无序的问题,部分厂家产品单一,难以匹配不同规模企业的产能需…
云主机重装系统后网站重新部署吗网络推广工资
依赖 最佳实践的这部分阐述Chart.yaml中声明的dependencies。 版本
如果有可能的话,使用版本范围而不是某个固定的版本。建议的默认设置是使用补丁级别的版本的匹配: version: ~1.2.3
version: ~1.2.3
这样会匹配1.2.3以及该版本的任何补丁࿰…
2025 年最新三维扫描仪厂家权威推荐排行榜:空间 / 高精度 / 手持激光等类型设备优选企业全解析工业/便携式/拍照式/蓝光三维扫描仪厂家推荐
当前数字化浪潮下,三维扫描技术在文博保护、工业检测、医疗诊断、教育科研、电商展示等领域的应用愈发深入,市场对各类三维扫描设备的需求呈爆发式增长。但与此同时,市场上品牌繁杂、产品性能差异悬殊,从消费级到工…
2025 年北京红旗国悦经销商最新推荐排行榜:行业标杆与新锐品牌齐聚,购车选品指南重磅发布北京丰田考斯特/北京红旗国悦12座/北京考斯特4S店/北京丰田柯斯达/北京考斯特商务车经销商推荐
随着高端商务出行需求的持续升级,红旗国悦作为国车高端代表,其销售与定制服务市场愈发活跃,但也暗藏诸多选择难题。一方面,市场中既有深耕多年的老牌服务商,也涌现出大批新兴品牌,服务质量、定制能力与售后保障参…
LINUX之TCP内核参数解析
tcp_abort_on_overflow 0 如果全连接队列满了,server扔掉client发过来的ack; 1 server会发送一个reset包给client,表示废掉这个握手过程和这个连接tcp_adv_win_scale …
2025 年上海刑事辩护律师 / 刑事案件律师 / 刑事诉讼律师 / 刑事犯罪律师 / 刑事纠纷律师事务所推荐:徐海燕律师团队专业法律服务
随着上海市场经济的持续发展与法律体系的不断完善,各类刑事与民商事法律纠纷案件数量逐年增加,当事人对专业法律服务的需求也日益提升。在刑事领域,职务犯罪、经济犯罪、金融犯罪等案件呈现出复杂性、专业性更强的特…
广州市安全教育平台苏州seo培训多少钱
ChatGPT提问技巧——控制温度和TOP-P样本
“控制温度和Top-P抽样”在自然语言处理中,控制温度是指通过调整生成文本的随机性和多样性,而Top-P抽样是一种生成文本的策略,它选择概率最高的前P个词作为候选词汇。这两个技术常用于生成文本的质量…
网站的推广方案怎么写广科网站开发
最近放假在写一个小项目,用到了闭包和匿名函数的知识,记录一下 What?
匿名函数:匿名函数(英语:Anonymous Function)在计算机编程中是指一类无需定义标识符(函数名)的函数…
网站外链平台的建设方法平台类型(至少5个)?做网站寄生虫需要哪些东西
Shuffle(随机洗牌),这个预处理器会把参考图的颜色打乱搅拌到一起,然后重新组合的方式重新生成一张图,可以想象出来这是一个整体风格控制的处理器。
那么问题来了,官方为啥会设计个这样的处理器呢,主要是给懒人用的&am…
免费站推广网站2022小微企业查询系统
前言
之前我们已经学习过了各种线性的数据结构,顺序表、链表、栈、队列,现在我们一起来了解一下一种非线性的结构----树
1.树的结构和概念
1.1树的概念
树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一…
题解:[P11184 带余除法]
题解:P11184 带余除法
题意
\(T\) 组测试数据,给定有余数除法中的被除数(\(n\))和商(\(k\)),求余数的不同可能性数量。
数据规模与约定
对于全体数据,保证 \(1 \le T \le 10,1 \le n \le 10^{14},0 \le k \le …
实用指南:基于langchain的简单RAG的实现
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
深入解析:微信小程序动态组件加载的应用场景与实现方式
深入解析:微信小程序动态组件加载的应用场景与实现方式2025-10-08 09:40
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; …
唐山做企业网站的公司centos7.2做网站
顾得泉:个人主页
个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》
键盘敲烂,年薪百万! 1.C和C的区别 1.语法和特性:C是一种过程式编程语言,而C是一种面向对象编程语言。C在C的基础上增加…
小语种网站建设公司网络营销广告词有哪些
散点图(scatter chart)将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。在QChart中,使用类QScatterSeries创建散点图。QScatterSeriesQScatterSeries类在散点图中显示数据。散点数据在图表上显示为…
2025双氧水厂家权威推荐榜:优质生产与稳定供应实力之选
2025双氧水厂家权威推荐榜:优质生产与稳定供应实力之选在当今化工产业快速发展的背景下,双氧水作为一种重要的基础化工原料,在造纸、纺织、环保、电子及医疗消毒等众多领域发挥着不可替代的作用。随着市场需求持续增…
STM32----IAP远程升级 - 详解
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
英国AI数据中心发展规划:技术挑战与产业反馈
英国政府发布50点AI行动计划,承诺建设主权人工智能能力并加速AI数据中心发展。文章详细分析了技术基础设施规划、超级计算设施建设以及行业专家对计划可行性的质疑,涉及数据中心容量扩展、能源需求和公私合作模式等关…