Bugku CTF:论剑[WriteUP]

文章讲述了如何通过文件的十六进制分析,使用010editor工具查找特定十六进制值,解压7z文件并找到隐藏的flag。作者逐步揭示了通过图像处理和编码技术获取信息的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开头拿到文件,右键属性查看详细信息查看分辨率

常规做法改高度或者宽度

拿到010editor里查找781和66的十六进制的位置

一般来说会在FF C0周围,但也不一定。直接查分辨率十六进制是比较稳的


781和66的十六进制分别是:30D、42。直接用搜索功能查找 00 42

或者查找 30 D0、03 0D。只要高度和宽度的十六进制数是连在一起的那就找对了 

我这里直接尝试把高度66改成150。也就是十六进制的96

返回图片就可以看到隐藏了的信息

我们把能看到的数据提取出来

flag{666c61677B6D795F6E61**65**4**121**7**hhhh}


接下来尝试在编辑工具里,把查找模式从’十六进制字节‘改成‘文本’

尝试搜索01串,发现有大量的二进制码

尝试使用二进制转ascii

获取一串不明所以的文字:mynameiskey!!!hhh

有可能是能用上的密码,乘胜追击查看十六进制数据里还有没有隐藏了的东西

发现7B BC AF 27 1C很像7z文件的十六进制头

7z十六进制文件头:37 7A BC AF 27 1C

我们把文件里的这段数据改成7z头 

再在dd里尝试分离出7z文件

一套组合拳

ls
binwalk file.jpg
dd if=file.jpg of=out.7z bs=1 skip=9591 count=17569

提取出来的7z文件发现需要解压密码

这里把:mynameiskey!!!hhh  直接填入解压成功

获得一个新文件:ljc2.jpg

依然是查看该文件的详细信息,分辨率是622 x 62

转化成十六进制就是:26E x 3E

直接进入十六进制编辑软件再次搜索(别忘了把搜索模式换回十六进制字节)

我这里直接搜索02 6E和00 3E直接搜索到了

这里把高度3E直接改成96(也就是十进制的150,这个数字自己随便往大的填)

这里就直接拿到了flag此前被遮掩的一部分

两个部分拼起来就是flag{666C61677B6D795F6E616D655F482121487D}

直接填答案发现不对,所以这里应该还需要解码

使用base16尝试解码

那么答案就是:flag{my_name_H!!H}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

x0da6h

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值