欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Bugku 猫片(安恒)

程序员文章站 2022-05-16 10:28:20
...

今天发现了一道又爱又恨的题,决定分享出来。

Bugku 猫片(安恒)

打开得到png用010editor打开发现为png文件,加上后缀得到
Bugku 猫片(安恒)
用010editor打开没有异常。
虚拟机binwalk一下,依然没有异常。
查看属性没有异常。
超乎我的想象。返回在题目中发现hint:LSB BGR NTFS
逐个浏览器搜索
hint:LSB BGR NTFS

LSB 最低有效位/最低有效字节
BGR R红 G绿 B蓝 RGB模式为色彩数据模式 ,这时说明RGB有问题
NTFS 是Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式,提供长文件名、数据保护和恢复,能通过目录和文件许可实现安全性,并支持跨越分区。(搜NTFS还能搜到一个磁盘读写工具)

于是用Stegsolve分析了一下,data extract发现如果RBG分别处于0的时候,图像会很不正常,进行设置得到PNG
Bugku 猫片(安恒)用save bin保存一个副本,发现打不开,继续用010editor打开
发现文件头不对,删除 FFFE 保存得到
Bugku 猫片(安恒)
Bugku 猫片(安恒)
发现只有半个二维码,继续又010editor打开修改将高 00 00 00 8C
改成与高相同的 00 00 01 18。得到

Bugku 猫片(安恒)

扫码发现得到百度网盘内压缩文件flag.rar,保存到网盘下载减压。

Bugku 猫片(安恒)
哭了,平时就得到flag发现hint还有一个ntfs,咱也不知道啥,搜索借鉴了一下

安恒杯2018-1月赛

最后根据hint里面的提示“NTFS”,根据大佬的说法,这是一种流隐写,需要用到工具

ntfstreamseditor,然而。。这里还有一个坑就是,这压缩文件一定要用winrar来解压才会产生这样的效果。下载WinRAR(本人平时用的bandzip),接着用ntfstreamseditor,查看解压的文件夹里面的数据流
Bugku 猫片(安恒)
将其导出得到一个pyc文件,也就是py编译后的文件,因此需要扔到网上去在线反编译一下

https://tool.lu/pyc/

Bugku 猫片(安恒)反编译出来很明显就是一个加密的脚本了,根据他这个加密的脚本再写出一个解密的脚本,运行一下就可以得到flag了

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']
Mikasa=ciphertext[::-1]
print(Mikasa)
flag=""
for i in range(len(Mikasa)):
    for j in range(33,128):
        s=chr(i^j)
        if i%2==0:
            s=ord(s)+10
        else :
            s=ord(s)-10
        if str(s)==Mikasa[i]:
            flag+=chr(j)
            print(flag)

Bugku 猫片(安恒)
哈哈哈哈哈哈哈哈,终于得到了flag。
回想做出这个题的过程想打人。
今天就分享到这。

相关标签: CTF学习