JarvisOJ Crypto
程序员文章站
2022-05-16 22:30:34
...
Medium RSA
- 使用openssl读取公钥文件
- n不大,直接使用yafu进行因数分解
- 生成私钥
- 解密文件得到flag
BrokenPic
打开后发现缺少文件头,使用winhex补上。
提示中给了图片大小,用文件大小除图片大小即可得到每个像素占用的位数,3148800/(1366*768)≈24。
图片可以看了:
然后可以看到有key,后发现bmp 内的数据变化很规律,可能是块密码,试试 AES,用key 解密一下:
from Crypto.Cipher import AES
key = 'PHRACK-BROKENPIC'
aes = AES.new(key)
with open('brokenpic.bmp', 'r') as f:
data = f.read()
pic = aes.decrypt(data)
with open('t.bmp', 'w') as f:
f.write(pic)
再加上文件头,可以看到:
扫码即可得到flag
参考
BMP文件格式分析
题目文件
brokenpic.bmp
上一篇: 服务器发送携带ULR的短信到手机
推荐阅读
-
记一次在node.js中使用crypto的createCipheriv方法进行加密时所遇到的坑
-
node.js之基础加密算法模块crypto详解
-
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
-
vue中使用cookies和crypto-js实现记住密码和加密的方法
-
Yum中报错:“pycurl.so: undefined symbol: CRYPTO_num_locks”的问题排查
-
前端加密传输 crypto-js AES 加密和解密
-
在Python中使用M2Crypto模块实现AES加密的教程
-
攻防世界_新手区_Crypto——“幂数加密”
-
python的Crypto模块实现AES加密实例代码
-
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)