bugku 猫片

下来后更改后缀为png

binwalk分析后并没有得到什么,放到stegsolve中各种尝试发现下面这段,还带有png,说明可以生成一张png图片

不过png图片开头是89504e,所以在HxD打开把前面的删掉

保存后发现得到一张缺少下半边的半张二维码

对于这种情况可以选择改高度

从图片的属性可以知道这张图片是280*140的,那我们把它改为280*280的就行了

将原图片高度位置处的00 8C(8C为140)改为01 18(118为280)即可得到完整的图片

然后使用画图工具反色得到正常的二维码

二维码扫描出来后是一个百度网盘的链接

然后发现居然是这个样子emmmmm

根据大佬提示是ntfs隐写(大佬说这是安恒某月赛题),好的,上家伙ntfstreamsedtior

导出后是一个pyc文件,在线反编译一下

反编译出来是一个加密的脚本,也就是说写出一个解密的脚本,再运行一下就能出flag了

脚本如下:

def decode():
    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']
    ciphertext.reverse()
    flag = ''
    for i in range(len(ciphertext)):
        if i % 2 == 0:
            s = int(ciphertext[i]) - 10
        else:
            s = int(ciphertext[i]) + 10
        s=chr(i^s)
        flag += s
    return flag
 
def main():
    flag = decode()
    print(flag)
 
if __name__ == '__main__':
    main()

原文地址:https://www.cnblogs.com/Paranoid-4/p/9502196.html