CTF Writeup 合集

本文汇总了一些网上的题目的全部解题过程,涵盖 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}

相关推荐
damoluomu1 天前
挑 PHP CMS 之前,先学会看它的协议
php
云水一下1 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
龙亘川1 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
kybs19911 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
XUEYUAN52121 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
LorryJovens1 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
其实防守也摸鱼1 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
甜到心里的蛋糕1 天前
加解密技术详解:纯前端如何实现 AES / SM4 / RSA / 国密 SM2
前端·密码学
TechEdu2026061 天前
[人工智能]人工智能时代的零日漏洞与零日攻击
人工智能·网络安全·ai·信息安全