标签:AES writeup decrypt aes IV CTF import message 2017
题目来源:WDCTF-2017
题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1&id=4840&page=4
✨writeup
下载得到rar 解压得到没有扩展名的文件
刚拿到文件时完全没有思路
参考
https://blog.betamao.me/2017/09/17/2017-%E9%97%AE%E9%BC%8E%E6%9D%AF%E5%88%9D%E8%B5%9B-WP/
file命令
file命令查看文件类型
添加扩展名.pcapng然后用wireshark打开
wireshark追踪TCP流
追踪TCP流 流5时发现rar
显示和保存数据为原始数据
复制出来在010粘贴然后保存为rar
解压需要密码
追踪TCP流 流6时发现一段base64编码数据和一个Python脚本
19aaFYsQQKr+hVX6hl2smAUQ5a767TsULEUebWSajEo=
# coding:utf-8
__author__ = 'YFP'
from Crypto import Random
from Crypto.Cipher import AES
import sys
import base64
IV = 'QWERTYUIOPASDFGH'
def decrypt(encrypted):
aes = AES.new(IV, AES.MODE_CBC, IV)
return aes.decrypt(encrypted)
def encrypt(message):
length = 16
count = len(message)
padding = length - (count % length)
message = message + '\0' * padding
aes = AES.new(IV, AES.MODE_CBC, IV)
return aes.encrypt(message)
str = 'this is a test'
example = encrypt(str)
print(decrypt(example))
获取rar解压密码
对其进行base64解密然后使用Python脚本解密
修改Python脚本
# coding:utf-8
__author__ = 'YFP'
from Crypto import Random
from Crypto.Cipher import AES
import sys
import base64
IV = 'QWERTYUIOPASDFGH'
def decrypt(encrypted):
aes = AES.new(IV, AES.MODE_CBC, IV)
return aes.decrypt(encrypted)
def encrypt(message):
length = 16
count = len(message)
padding = length - (count % length)
message = message + '\0' * padding
aes = AES.new(IV, AES.MODE_CBC, IV)
return aes.encrypt(message)
str = 'this is a test'
example = encrypt(str)
print(decrypt(example))
#增加如下两行
a='19aaFYsQQKr+hVX6hl2smAUQ5a767TsULEUebWSajEo='
print(decrypt(base64.b64decode(a)))
脚本运行时Python3环境报错
使用Python2环境运行
需要安装pyCrypto模块
安装过程中出现报错可参考
https://blog.csdn.net/teloy1989/article/details/72862108
得到解压密码:No_One_Can_Decrypt_Me
解压后得到打开flag.txt得到flag
Flag:WDCTF{Seclab_CTF_2017}
结束。
⭐转载请注明出处
本文作者:双份浓缩馥芮白
原文链接:https://www.cnblogs.com/Flat-White/p/13714987.html
版权所有,如需转载请注明出处。
标签:AES,writeup,decrypt,aes,IV,CTF,import,message,2017 来源: https://www.cnblogs.com/Flat-White/p/13714987.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。