加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

bugku 猫片

发布时间:2020-12-14 03:49:14 所属栏目:大数据 来源:网络整理
导读:下来后更改后缀为png binwalk分析后并没有得到什么,放到stegsolve中各种尝试发现下面这段,还带有png,说明可以生成一张png图片 不过png图片开头是89504e,所以在HxD打开把前面的删掉 保存后发现得到一张缺少下半边的半张二维码 对于这种情况可以选择改高度

下来后更改后缀为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,70,102,94,132,46,112,64,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()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读