当前位置:首页 > 技术 > 正文内容

CTF竞赛中MISC类题目解题实践与分析

访客 技术 2026年8月31日 1

PDF隐写:从文档格式突破获取flag

题目提供了一个看似空白的PDF文件,仅包含一张无关图片。常规查看无有效信息,但通过文档格式转换尝试,将PDF转为Word文档后,隐藏内容自动显现,直接得到flag。此类题目考察对办公文档底层结构的理解,某些编辑器在转换过程中会还原被隐藏或特殊编码的文本层。

Ext Alpha编码识别:非常规文本编码的处理

附件为一个乱码文本文件,使用Hex Editor或binwalk均无法识别有效结构。关键在于题目名称"Ext Alpha"本身即为线索。使用Microsoft Word打开该文件时,程序提示字体编码异常,并允许手动选择编码格式。在编码列表中选择"Ext Alpha"后,原始flag明文成功显示。此题强调对冷门编码格式的认知及利用办公软件自动修复机制的能力。

dddns:基于DNS隧道流量的取证分析

题目给出一个pcapng流量包,其中全部为DNS请求与响应。观察到查询类型包含大量TYPE NULL记录,且子域名长度固定、频率极高,符合DNS隧道特征。结合根域b.dns.xibai判断其使用iodine工具建立隐蔽通道。通过自定义Python脚本解析DNS请求中的base32编码数据段,提取并重组出嵌入的原始TCP流,保存为新的PCAP文件。使用Wireshark打开新文件,追踪TCP流即可看到传输的flag内容。

签到2:基础编码变换的综合应用

提示"Base64÷4"具有误导性,实际并非Base64操作。给定字符串经Base64解码失败,转而尝试十六进制(Hex)解码。将输入视为Hex字符串转换为字节流后,直接输出可读文本,flag清晰呈现。此题考验选手对多种编码形式的敏感度以及排除干扰信息的能力。

normal_png:PNG结构篡改实现视觉隐藏

图片文件表面正常,但binwalk扫描发现潜在数据嵌套。使用十六进制编辑器检查其IHDR块,发现高度值存在可疑低字节。原高度字段为0x036B(875像素),修改为0x046B(1131像素)后重新加载图像,拉伸区域显示出原本被裁剪隐藏的flag文字。这种技术利用图像解析器对尺寸变更的容错性,实现简单却有效的信息隐藏。

BBB:异或加密与Base64组合逆向

压缩包内含一段Python加密代码,注释中为密文。分析可知加密过程为:生成1–100之间的随机密钥k,对明文每个字符进行ASCII值异或k运算,结果转为字节串后执行Base64编码,最后整体反转得到密文。

import base64

def decrypt(ciphertext):
    decoded = base64.b64decode(ciphertext[::-1])
    for k in range(1, 101):
        result = ''.join(chr(b ^ k) for b in decoded)
        if 'flag{' in result:
            return result
    return None

cipher = '=Q2Lh8SLusyfvg3K4pXIt0iKrwyfgwyLrwXfhESL/pyLgImf4V3f'
print(decrypt(cipher))

运行上述脚本爆破密钥,当k=42时输出正确flag:flag{963f488de2659f523448ca2a6f274686}

长安没有秋天:双重密钥与空格隐写结合

损坏的ZIP文件包含两个线索:注释key2{736e6f772a32}解码为"snow*2";使用二进制编辑器查看文件头,在ZIP目录结构前发现隐藏字符串key1{666c61672a33},解码得"flag*3"。推测密码为"flagflagflag",成功解压出空白txt文件。

文件看似为空,实则含有不可见字符。结合"snow*2"提示,推断使用SNOW工具进行空格/制表符隐写。使用SNOW命令行工具执行:

snow -C secret.txt

从文件尾部提取出隐藏信息,获得最终flag。

黑客入侵:Webshell流量行为分析

多层压缩包解压后得到网络流量包。过滤HTTP协议,发现攻击目标IP为192.168.68.128:9080。追踪TCP流,查找上传webshell的相关POST请求。依据提示需定位"黑客最后使用的木马文件名",找到编号最大的HTTP请求,其上传路径中的PHP文件名为tlswslhaoev4lva.php

进一步搜索常见Webshell管理工具的通信特征,发现疑似Godzilla(哥斯拉)客户端连接行为。根据题目要求,计算该工具名的MD5哈希值:

md5("godzilla") = fe7c3416a2ace0d97e4029e77368c5ab

最终构造flag:flag{fe7c3416a2ace0d97e4029e77368c5ab}

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。