每天CTF小练(6.6)--基础异或

题目:HNCTF 2022 Week1XXXOOORRR

复制代码
from flag import flag
from Crypto.Util.number import *
import os

randBytes = [bytes_to_long(os.urandom(64)) for _ in range(3)]
m = bytes_to_long(flag)

print(f'a = {randBytes[0]}')
print(f'b = {randBytes[0] ^ randBytes[1]}')
print(f'c = {randBytes[1] ^ randBytes[2]}')
print(f'd = {m ^ randBytes[0] ^ randBytes[1] ^ randBytes[2]}')

'''
a = 1215421974111272707828609697064234072332368362928440865251897449605952163161176359366553487776268706107760670434157083936287598207881176904763353849369234
b = 10533604054267448009117468094542127075826310122733511023911022436253583775790861879410728001403728088545946257902341417532648419689212361977221573357292618
c = 6401236597601556248960570084212025183497657335932789785351897915858852832577623776212842429736547820800219382515052263929074210010546149322465536545021479
d = 5711309307698496426409561761492698639489294806611133698231840146911562848869711567477706456972659368849642409039245400981517493100724067475248620536111560
'''
代码解释:
复制代码
randBytes = [bytes_to_long(os.urandom(64)) for _ in range(3)]



"""
这段代码是用Python来生成一个包含3个随机64字节长的bytes对象的列表。让我逐步解释:

os.urandom(64):os.urandom()函数是Python中用于生成指定长度的随机字节序列的方法。在这里,os.urandom(64)生成了一个长度为64字节的随机字节序列。

bytes_to_long():这是一个自定义的函数,它将一个字节序列转换为一个长整型数。在Python中,可以使用int.from_bytes()方法来实现这一转换。

[bytes_to_long(os.urandom(64)) for _ in range(3)]:这是一个列表推导式(list comprehension),它会生成一个包含3个元素的列表。在这里,循环了3次(range(3)),每次生成一个64字节长的随机字节序列,并将其转换为长整型数后加入到列表中。

因此,randBytes列表包含了3个随机的64字节长的长整型数。
"""

代码解释不懂,不用管,直接解。

wp:
复制代码
from Crypto.Util.number import *


a = 1215421974111272707828609697064234072332368362928440865251897449605952163161176359366553487776268706107760670434157083936287598207881176904763353849369234
b = 10533604054267448009117468094542127075826310122733511023911022436253583775790861879410728001403728088545946257902341417532648419689212361977221573357292618
c = 6401236597601556248960570084212025183497657335932789785351897915858852832577623776212842429736547820800219382515052263929074210010546149322465536545021479
d = 5711309307698496426409561761492698639489294806611133698231840146911562848869711567477706456972659368849642409039245400981517493100724067475248620536111560

a1=a
b1=b^a
c1=c^b1
m=d^a1^b1^c1
print(m)
print(long_to_bytes(m))

"""
955126884749829153586936045914642979607739079976821931874795098472843959716986845513508261072901299531296605101249003068702245602361385060494717
b'NSSCTF{XOR_ha5_many_propertie5_and_thi5_i5_ju5t_one_of_them}'
"""
相关推荐
kali-Myon1 天前
分享一个网络安全 AI 工具导航项目 SecSkills
安全·ai·github·ctf
蒲公英eric2 天前
从旧接口泄露到 OAuth 保护:DVWA API 模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·api模块
白猫不黑3 天前
CTF是什么?从零理解一场攻防竞赛
网络·web安全·计算机·网络安全·信息安全·ctf·红蓝对抗
玫幽倩4 天前
2026第二届湾区杯网络安全大赛决赛(AI专项赛道静态题wp)
pytorch·python·ai·agent·ctf·rag·湾区杯
落寞的魚丶6 天前
2026年浙江省信息通信业职业技能竞赛(信息安全测试员竞赛) 初赛Wireup
ctf·鱼影安全·2026网络安全通信行业·信息安全测试员竞赛·通信职业技能大赛
合天网安实验室11 天前
Modbus协议及其取证的学习笔记
ctf·modbus·通信协议·取证
努力的lpp12 天前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
蒲公英eric12 天前
从直接重定向到白名单验证:DVWA 开放重定向模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·开放重定向模块
蒲公英eric14 天前
从页面检查到功能验证:DVWA 授权绕过模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·授权绕过模块
Sagittarius_A*15 天前
[LitCTF 2026] lit_elgamal_handshake
密码学·ctf·crypto·elgamal