Simple XOR - Writeup by AI

Simple XOR - Writeup by AI

题目信息

  • 题目名称: simple xor
  • 分类: Crypto
  • 题目描述: Found the following message: XUBdTFdScw5XCVRGTglJXEpMSFpOQE5AVVxJBRpLT10aYBpIVwlbCVZATl1WTBpaTkBOQFVcSQdH 😃

分析过程

1. 理解加密算法

从提供的 xor.py 文件中,我们可以看到加密逻辑:

python 复制代码
sxor = ':)'
sflag = 'this is the flag'
flag = bytearray(sflag)
xor = bytearray(sxor)
encrypted = ''
for i in range(0,len(flag),2):
    encrypted += str(hex(flag[i] ^ xor[0]))[2:]
    encrypted += str(hex(flag[i+1] ^ xor[1]))[2:]
print encrypted

加密步骤:

  1. 使用两字节密钥 :)
  2. 对明文的每个字节与密钥交替进行XOR运算
  3. 将XOR结果转换为十六进制字符串(去掉0x前缀)
  4. 拼接所有十六进制字符串

2. 密文分析

题目给出的密文:XUBdTFdScw5XCVRGTglJXEpMSFpOQE5AVVxJBRpLT10aYBpIVwlbCVZATl1WTBpaTkBOQFVcSQdH

观察密文字符:

  • 长度:76个字符
  • 包含字符:数字、大写字母、小写字母
  • 包含非十六进制字符(如 X, U, J, G, W 等)

这说明密文不是直接的十六进制字符串。

3. 关键发现

注意到密文末尾有 :),这提示我们密钥就是 :)。

尝试将密文进行 Base64解码:

  • 76个字符的Base64字符串可以解码为57个字节
  • Base64编码常用于将二进制数据转换为可打印字符

4. 解密步骤

Step 1: Base64解码密文

python 复制代码
import base64
encrypted_str = 'XUBdTFdScw5XCVRGTglJXEpMSFpOQE5AVVxJBRpLT10aYBpIVwlbCVZATl1WTBpaTkBOQFVcSQdH'
decoded_bytes = base64.b64decode(encrypted_str)

Step 2 : 与密钥 :) 进行XOR解密

python 复制代码
key = ':)'
decrypted = ''
for i in range(len(decoded_bytes)):
    decrypted += chr(decoded_bytes[i] ^ ord(key[i % 2]))
相关推荐
微软技术分享9 小时前
面向二进制安全的大模型多智能体框架
网络·安全·web安全
Nebula_g16 小时前
JavaSE拓展:可变参数
java·开发语言·算法·安全·javase·可变参数
在角落发呆16 小时前
软件配置备份方法:从手动到自动化的实践指南
windows·安全
YonyouHRSaaS17 小时前
从安全、信创、运维三方面看,人力资源管理系统哪种部署方式更适合企业HR?
运维·安全·hr系统·人力资源管理系统·hr saas·人事管理系统
白猫不黑18 小时前
网络安全专业:从入门到进阶的完整学习路线
学习·安全·web安全·计算机·网络安全·信息安全·编程
涼叶i19 小时前
反序列化漏洞
安全·开源
请输入蚊子19 小时前
CVE-2026-8260 D-Link DCS-935L缓冲区溢出漏洞 复现
网络·安全·web安全·iot
东木月20 小时前
Windows C 盘清理指南:安全删除临时文件、缓存与 Prefetch
c语言·windows·安全
. . . . .20 小时前
地理位置定位
安全
都适、隶仁ミ21 小时前
【等保加固】MySQL5.7.38
运维·服务器·mysql·安全·等保