baby_jpg
文件下载
下载:https://nil0.lanzoum.com/iJ8Hd1695kcj 密码:3209
拿到文件 看到下⾯是个zip分离出来
是一个伪加密使用ZipCenOp.jar进行修复
解压得到 flag.txt 和 secret.pdf
提示 No flag here 放到binwalk查看一下pdf文件 可以看到有两个图
使用 foremost 对文件进行分离。
解析二维码的到
06dcb1040f09beba07323d02d94a7c7f207fed02a611504859b211c34da55ab3e6aca35c825d0dc0e99e5b6d87276550ed206f50bcfcbba71636cb66e862d5cd
放到txt文件中将后缀改为zip
使用brkcrack获取keys
rbkcrack.exe -C 1B426.zip -P sha512.zip -a
ed3fb6a9 1c4a7211 c07461ed
rbkcrack.exe -C 1B426.zip -c flag.txt -k ed3fb6a9 1c4a7211 c07461ed -d flag.txt
二分法
下载:https://nil0.lanzoum.com/in8lS16pe5qd 密码:5vo3
下载解压后是一个日志文件,内容是一些http请求的日志
将URL编码进行编译方便查看
搜索 flag 可以看到爆破 this_is_flag 字段的日志通过分析日志得到 flag,706 表示成功,722 表示失败.
最后得到 flag
flag{PhP_15_83ET}
RC4
下载:https://nil0.lanzoum.com/iZjD616pf1ti 密码:fhij
下载的到三个文件,分析task.py
task.py
import os
from secret import flag # 导入待加密的数据
from Crypto.Cipher import ARC4 # 导入加密算法
def encrypt(msg, key):
"""
对msg进行ARC4加密
:param msg: 待加密的数据
:param key: 加密所使用的密钥
:return: 加密结果
"""
rc4 = ARC4.new(key)
return rc4.encrypt(msg)
key = os.urandom(16) # 生成一个16字节的随机密钥
cipher = encrypt(flag, key) # 对待加密的数据进行加密,生成密文
with open("key", "wb") as f:
f.write(key) # 将密钥写入名为key的二进制文件中
with open("ciphertext", "wb") as f:
f.write(cipher) # 将加密后的数据写入名为ciphertext的二进制文件中
解密代码
from Crypto.Cipher import ARC4 # 导入加密算法
# 从文件中读取密钥
with open("key", "rb") as f:
key = f.read()
# 从文件中读取加密后的数据
with open("ciphertext", "rb") as f:
ciphertext = f.read()
# 创建 ARC4 对象并使用密钥进行解密
rc4 = ARC4.new(key)
flag = rc4.decrypt(ciphertext)
# 打印解密结果
print(flag.decode())
反射密码
题目:使用仿射函数y=3x+9加密得到的密文为JYYHWVPIDCOZ,请尝试对其解密。flag为f1ag{大写明文}。
仿射解密函数:F(x) = a-1(x - b) (mod m),其中a-1是a在Zm群的乘法逆元,m是字母的数量。
def affine_decrypt(ciphertext, a, b):
plaintext = ""
m = 26
a_inverse = mod_inverse(a, m)
for char in ciphertext:
if char.isalpha():
# 将字符转换为大写字母,然后减去偏移量b
y = (ord(char.upper()) - b - 65) % m
# 使用解密公式计算字符位置
x = (a_inverse * y) % m
# 将字符位置转换为字母
plaintext += chr(x + 65)
else:
plaintext += char
return plaintext
def mod_inverse(a, m):
"""
计算a在模m下的乘法逆元
"""
for i in range(1, m):
if (a * i) % m == 1:
return i
return None
# 测试
ciphertext = "JYYHWVPIDCOZ"
a = 3
b = 9
plaintext = affine_decrypt(ciphertext, a, b)
print("解密后的文本:", plaintext)
最后得到 flag
flag{AFFINECRYPTO}
3 条评论
博主太厉害了!
不错不错,我喜欢看 https://www.237fa.com/
看的我热血沸腾啊