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]))
相关推荐
zhongerzixunshi5 分钟前
军工保密资质|筑牢涉密科研生产安全底线
人工智能·安全
元岳数字人小元35 分钟前
告别云端依赖,数字人本地部署筑牢项目安全底座
人工智能·安全·架构·开源·人机交互·交互
德迅--文琪1 小时前
从被动巡检到风险预知:德迅云眼(ISSM 云监测),全生命周期业务系统安全监测,筑牢数字化业务风险防线
安全·系统安全
长不大的杨瑞杰2 小时前
OpenCode v2 多源上下文实战:Websearch、References、Attachments 与缓存预热
人工智能·安全·云计算·软件工程·devops
一只鹿鹿鹿2 小时前
医院绩效管理体系方案
大数据·运维·安全·web安全·制造
武天旭11 小时前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
2601_9672127212 小时前
智能电源轨道技术原理、认证核查与场景适配说明
大数据·经验分享·安全
KKKlucifer12 小时前
运营商非结构化文档安全管控体系建设实践
大数据·网络·安全
On The Road :13 小时前
Java 多线程详解:从入门到线程安全
java·python·安全
汤姆宝库15 小时前
安全深拆:越狱物理、注入攻击与纵深防御
人工智能·安全·机器学习·ai