beautiful_sky(Bugku)

1 篇文章 0 订阅

我的writeup被bugku管理员吞了,去年11月份做出来的题快半年了wp都没过审核...

下载后解压提示压缩包加密

观察题目

猜测密码为baeutiful_sky

解压后得到一张图片

先观察图片,除了打了doc encoded _by_we1的水印外没什么

属性里提示了一句拉满了拉满了00000beautiful

暂时不明白是什么

把图片拖到winhex里看

发现一件事:jpg(JEPG)的文件尾的hex应该是FF D9

这里显然不是

首先想到了填充文件尾

但这个想法是不正确的

因为如果文件尾不全的话,一般会显示图片已损坏

这里猜测是做了两个文件的拼接

继续往上找

这里不仅发现了jpg图片的尾

更发现了D0 CF 11 E0

如果对文件头和尾的hex足够了解的朋友会知道这个是doc或xls的文件头

把D0 CF 11 E0之后的hex拿出来写到一个新的文件里并加上后缀.doc(之所以不修改为.xls的原因是改了之后会提示错误,大家改一下就知道了)

发现该.doc文件为加密文件

这里两种解决办法:

1.(推荐)仔细观察图片,上文我提到的水印这里就派上了用场

猜测密码为:we1

2.office password recovery直接爆破1秒搞定

进入.doc文件后什么都看不到,但是很明显是有字的,将其改为黑色

这就完了吗?不不不

编码的后半部分被隐藏了,这才是完全的编码

首先base64跑一下发现不对,这里停住了没思路了

插个题外话:为什么你不去试试base32和base16

因为base32的数字范围是2~7而base16的字母范围是没有小写的

大家抽时间可以去了解一下base家族的组成,可以帮你在做misc的时候省下一些时间

当然如果你写base全家桶的脚本去跑就当我没说

言归正传,仔细看,这段编码里是没有0的

锁定base58

在线解密

发现解密完后是一段base64

继续

解出来是一段hex

50 4B 03 04真是太令人开心了,一看就是压缩包的头,把这些写进winhex里

这里再插一句题外话

了解文件的格式对于misc手来讲很重要!!!

看到了flag.txt的字样

赶紧解压

提示需要密码

看了眼评论区作者自己的评论

经典base32转base64再转base64

如果你没有判断出来的话也可以写个脚本跑一下:

import base64

str1=’ KZDTCMCUNMYXGUTKLJMGCMKKKBMVIQLXMVLFM5DDI5YE4YL2KZ4FM3CSJ5KDEVTTMEZWQVKXJBBEOVKGIU4VAUJ5HU======’

print base64.b64decode(str1)

print base64.b32decode(str1)

print base64.b16decode(str1)

解得: llllovewe1

……不予评价

用它去解密压缩包

得到flag.txt

额 看来还没完我们继续

仔细观察属性,发现这个文本文档明明只有一句话我们却看到了518个字节

初步怀疑是0宽度字符隐写,拖到kali里看一下

vim flag.txt

是它没跑了,在线工具跑一下

Unicode Steganography with Zero-Width Characters

这里我还很耐心的看了一下都有什么,结果还是没跑出来

这里回到上文,图片的属性里有一句

直接全部拉满

 

得到flag

PS:有关压缩包的密码那件事,这道题的作者和我进行了讨论,应该是平台在上传题目的时候弄错了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI仿生道士

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

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

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

打赏作者

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

抵扣说明:

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

余额充值