BUUCTF--[ACTF2020 新生赛]Include

news/2024/12/22 10:53:36/

目录

1、本题详解

2、延伸拓展


1、本题详解

访问题目链接 

有一个tips的链接,我们点击

请求了file,内容是flag.php的内容:Can you find out the flag?

尝试请求一下index.php

并没有发现什么信息

flag.php也没发现什么

尝试爆破一下它的目录和一些敏感文件名

但是遇到429报错,请求被服务器拒绝,因为发送了太多请求 

想起题目名叫Include,应该考察的是文件包含,因此尝试使用伪协议进行文件读取

首先使用 php://filter(用于读取源码)

这里直接尝试读取当前目录下的flag.php

进行base64编码输出,构造payload:

?file=php://filter/read=convert.base64-encode/resource=flag.php

读取成功

进行base64解码

拿到 flag{f88d4b88-a1d0-4245-9c11-69da16affdac}

2、延伸拓展

关于php://filter的用法:

php://filter/read=convert.base64-encode/resource=[文件名]

读取文件源码(针对php文件需要base64编码)

当然有时候会对编码进行过滤和限制,这时我们就需要使用一些其他的编码方式

比如使用utf8和utf16

/?file=php://filter/convert.iconv.utf8.utf16/resource=flag.php

读取出来的内容就不需要解base64了

这里说一下这个iconv函数:完成各种字符集间的转换

比如 iconv("utf8","gbk",$string) :将字符串string 编码由utf8转变成gbk

以及convert.iconv.的用法:

convert.iconv.<input-encoding>.<output-encoding>
或者
convert.iconv.<input-encoding>/<output-encoding>

<input-encoding>和<output-encoding> 就是编码方式

常用的编码方式有:

UCS-4*
UCS-4BE
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*
EUC-JP*
SJIS*
eucJP-win*
SJIS-win*

比如我们的payload还可以是:

?file=php://filter//convert.iconv.SJIS*.UCS-4*/resource=flag.php

但是这种编码读取php文件似乎不行,不过我们可以读其他的,比如etc下的passwd

?file=php://filter//convert.iconv.SJIS*.UCS-4*/resource=/etc/passwd

尝试使用 php://input (用于执行PHP代码)进行代码执行:

回显 hacker!

应该是被检测了,我们读取一下index.php的源码看看

/?file=php://filter/convert.iconv.utf8.utf16/resource=index.php

确实过滤掉了很多伪协议,但是 php://filter 是可以使用的,这也是为什么我们能读取到flag.php


http://www.ppmy.cn/news/1231034.html

相关文章

建筑可视化中的 3D 纹理

在线工具推荐&#xff1a; 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 1、什么是 3D 纹理&#xff1f; 纹理是将二维图像添加到三维模型的技术艺术。虽然对物体进行纹…

家庭教育专家:如何创建家庭自主学习环境?

经常听到一些父母这样抱怨&#xff1a;“明明和孩子说好就看20分钟电视&#xff0c;结果到了时间&#xff0c;他死活都不肯关。”“作业还没完成的情况下&#xff0c;孩子还一直抱着手机或者电子产品玩游戏。到了约定时间也不撒手&#xff0c;一直跟你讨价还价。” 其实&#…

【云栖 2023】张治国:MaxCompute 架构升级及开放性解读

云布道师 本文根据 2023 云栖大会演讲实录整理而成&#xff0c;演讲信息如下 演讲人&#xff1a;张治国|阿里云智能计算平台研究员、阿里云 MaxCompute 负责人 演讲主题&#xff1a;MaxCompute架构升级及开放性解读 活动&#xff1a;2023云栖大会 MaxCompute 发展经历了三个阶…

C++: int转换成LPCSTR

LPCSTR类型是指向字符常量的指针&#xff0c;因此需要将int类型转换为字符串类型&#xff0c;然后再将字符串类型转换为LPCSTR类型。 以下是一个示例代码&#xff1a; int num 123; char str[10]; sprintf(str, "%d", num); // 将int类型转换为字符串类型 LPCSTR …

基于Java的图书馆管理系统设计与实现【附源码】

摘 要 随着社会的发展&#xff0c;人类对知识的需求也在不断地增长。在这种形式下&#xff0c;书籍就逐渐成为获得知识的主要途径。因此图书馆就自然而然地在人们的生活中占据了一定的位置。如何科学地管理图书不但关系到读者借阅图书的方便程度&#xff0c;也关系到图书馆的发…

外贸ERP系统是什么?推荐的外贸管理软件?

外贸ERP管理系统有哪些&#xff1f;海洋建站管理软件的功能&#xff1f; 为了更有效地处理外贸业务&#xff0c;许多企业正在寻找先进的工具和技术。为了提高效率、降低成本并增强竞争力&#xff0c;越来越多的外贸企业正在转向外贸ERP系统。那么&#xff0c;外贸ERP系统究竟是…

女儿冬天的第一件羽绒服,这也太好看了

分享女儿的时尚穿搭 撞色插肩款羽绒服 同色系的精彩碰撞 描绘出绚烂的色彩 走在街上就是最靓的崽 显肤色显瘦超吸睛 妥投时尚小潮人一枚

【操作系统】文件系统之文件共享与文件保护

文章目录 文件共享硬链接软链接 文件保护口令保护加密保护访问控制 文件共享 为了实现文件的共享&#xff0c;引入了“计数器”字段&#xff0c;当一个文件每被一个用户所共享&#xff0c;那么计数器就加一。如果一个用户删除文件&#xff0c;计数器相应的减一。如果计数器为0…