【攻防世界】5-1

⭕、知识点
未知文件类型分析/字节级异或/xortool工具的使用/异或脚本编写

一、题目
给了一个未知文件

二、解题
1、用file指令分析一下是什么东西,并没有得到结果

2、查看十六进制内容,都是不认识的字节码

3、试试用binwalk看看有没有隐写文件,也没有

4、查看属性,在字节文本里搜索关键字符串都无果,直方图统计如下,也没有思路

5、查看wp才知道可能是整体文件异或了某个密钥,需要找到密钥再与当前数据异或一次才能得到结果

6、下载xortool
pip install xortool

我使用的python3也能用

7、找了csdn上好几篇博客看用法,发现好多人都是乱写,干脆自己看帮助文档吧

8、先用命令分析一遍密钥最可能的长度

他已经帮忙分析出最可能的长度是13,但是密钥需要自己去尝试

9、看之前帮助文档,-b是暴力尝试选项,直接加上

提示已经把结果保存到当前目录下的csv文件里了,去看一下

10、

找到一个有意义的字段GoodLuckToYou,应该就是密钥

11、编写脚本把数据再和密钥异或一遍

Key = "GoodLuckToYou"

with open("badd3e0621ff43de8cf802545bbd3ed0","rb") as f:
    with open("result.txt", "w",errors="ignore") as fp:
        index = 0
        data = f.read(1)
        while data:
            print(index)
            fp.write(chr(ord(data) ^ ord(Key[index])))
            data = f.read(1)
            index = (index + 1) % 13

注意要加上errors="ignore",不然中间可能会报错

12、查看结果得到flag

三、答案
wdflag{You Are Very Smart}

四、总结

这道题为未知文件的分析提供了一种思路:xortool找到可能密钥并还原原数据

posted @ 2025-04-13 14:10  wyuu101  阅读(109)  评论(0)    收藏  举报