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]))
相关推荐
启雀AI7 小时前
生物医疗行业如何建设合规、安全、可复用的知识库?
人工智能·安全·软件构建·知识图谱·知识库
Sirius Wu8 小时前
OpenClaw Skill:Matplotlib 可视化技能 + 沙箱双层隔离完整详解
服务器·网络·人工智能·安全·ai·架构·aigc
冬奇Lab8 小时前
每日一个开源项目(第160篇):Destructive Command Guard - 在 AI Agent 运行 rm -rf 之前拦截它
人工智能·安全·开源
ChainSafeAI00210 小时前
Summer.fi 遭600万美元漏洞攻击,安全警报拉响
安全
一勺菠萝丶12 小时前
生产环境平滑升级实战-Nginx维护页数据库迁移与安全回滚
数据库·nginx·安全
味悲13 小时前
搭建WAF+宝塔反向代理
安全
BenSmith15 小时前
RTOS漏洞分析:CVE-2026-10641和CVE-2026-9263
安全
happyness4415 小时前
AI重构实战案例:安全地将旧系统中大量基于 Thread 和同步阻塞的硬件通信代码,重构为现代的 async/await Task 异步架构
人工智能·安全·重构
Dola_Zou15 小时前
以CmASIC重塑AI+边缘设备的安全与商业复利
人工智能·安全·软件工程·软件加密
小小小小钰儿16 小时前
网络安全名词术语!
安全·web安全·计算机·网络安全·黑客·编程