word_sercet
文档被加密
查看图片的属性 在备注可以看到解压密码
解密成功
在选项里面把隐藏的文本显示出来
可以看到ffag
easy_encode
得到一个bmp二维码
使用qr research
得到的密文直接放瑞士军刀
base32解码+base64解码+hex解码
dir_pcap
直接搜索flag
发现flag.zip,zip_pass.txt
像是密码
从流量包下载 zip_pass.txt
导出分组字节流
flag.zip被加密了
用密码3.6*3.6进入得到flag
ezsm
# -*- coding: utf-8 -*-
import binascii
from gmssl import sm4
from secret import flag
def encode(key, data):
sm4_a = sm4.CryptSM4()
sm4_a.set_key(key.encode(), sm4.SM4_ENCRYPT)
ciphertext = sm4_a.crypt_ecb(str(data).encode()).hex()
return ciphertext
if __name__ == '__main__':
key = '4765?df?0170?44?'
ciphertext = encode(key,flag)
print("密文:",ciphertext)
#c49f4552b22f27969c07d9371d1aa093b54f97ccd44261a5fc92cd3461a38d68d20218a51686a3f9d0cc50679e36cd4f
key中存在4个不确定位,通过代码尝试所有字符,暴力检索flag关键字即可
from gmssl import sm4
from Crypto.Util.number import *
def encode(key, data):
sm4_a = sm4.CryptSM4()
sm4_a.set_key(key.encode(), sm4.SM4_ENCRYPT)
ciphertext = sm4_a.crypt_ecb(str(data).encode()).hex()
return ciphertext
def decode(key, data):
sm4_a = sm4.CryptSM4()
sm4_a.set_key(key.encode(), sm4.SM4_DECRYPT)
text = sm4_a.crypt_ecb(long_to_bytes(data))
return text
if __name__ == '__main__':
l = [0,1,2,3,4,5,6,7,8,9,'a','b','c','d','f']
for i in l:
for n in l:
for m in l:
for j in l:
key = f'4765{i}df{n}0170{m}44{j}'
ciphertext = 0xc49f4552b22f27969c07d9371d1aa093b54f97ccd44261a5fc92cd3461a38d68d20218a51686a3f9d0cc50679e36cd4f
text = decode(key,ciphertext)
if b'flag{' in text:
print(text)