攻防世界-MulTzor

⭕、知识点

1、xortool的使用

一、题目

一个文本
image

二、解题

1、一看内容,不是base类型,应该是hex

2、010创建16进制写入,保存文件,正序逆序都没有信息

3、根据题目名称,感觉像是xor异或,使用xortool进行字频攻击

选取最常出现的字符为空格, 0x20
image

得到密钥

4、解密文本
image

image
已经还原了大部分明文,而且下面已经能看到flag雏形

仔细观察发现每间隔6个字符就会出现一个乱码,需要手动矫正这个密钥

5、这里能推断正确的字符应该是 i, 英文单词analysis
image

错误的密钥->正确的密文->错误的明文
a|xor a|xor a|xor
正确的密钥 正确的密文 正确的明文

现在已知正确的明文,将错误的明文与正确的明文异或后得到a(指代上图里的字母),再把a与错误的密钥异或即可得到修正后的密钥

这里推断+猜测就是密钥的第一个字节是错误的,需要进行修正

6、脚本修复,得到正确密钥

wrong_m = ","
true_m = "i"
a = ord(wrong_m) ^ ord(true_m)
wrong_key = "w"
true_key = a ^ ord(wrong_key)
print(true_key.to_bytes().hex())

得到密钥第一字节正确值为0x32,替换原先的0x77为0x32,重新解密
image

得到正确明文和flag
image

替换一下flag末尾的 "?"为"{"得到flag

三、答案

DDCTF{0dcea345ba46680b0b323d8a810643e9}

四、总结

复习了一下xortool工具,还有面对这种全是hex文本的题目要记住有这种解题思路。其实做题还想到是加密,文件没有给出密钥,就排除这种可能。

posted @ 2026-02-01 13:33  wyuu101  阅读(0)  评论(0)    收藏  举报