1.Yesec no drumsticks 1
根据题目提示 得知本题是lsb隐写
打开附件 得到一张图片
用stegsolve
打开
flag{Yesec_1s_lsb}
2.qsdz's girlfriend 1
根据题目提示得知: flag分为两部分
打开附件获得提示
于是用ARCHPR
爆破
//关于范围:应该都是00后吧-截止到今天
所以密码是20031201
打开压缩包获得一张图片--女朋友
百度识图去找女朋友的名字
所以名字是Hikari
综合一下flag为flag{Hikari_20031201}
3.Look my eyes
用SilenceEye
打开文件
然后直接解密
得到base64编码
然后解码得到flag
flag{L0ok_m3_1n_my_ey3s}
4.[GUET-CTF2019]zips
打开附件 获得了一个压缩包222.zip
继续打开111.zip
需要密码
于是我用ARCHPR
直接爆破密码
723456
打开111.zip
需要密码于是拖入010
发现伪加密
把09变为偶数 然后保存打开
获得setup.sh
文件和带密码的flag.zip
打开这个配置文件
我理解的意思就是密码等于这个函数跑出来的结果
但是不太懂这个函数 于是上网搜索了一下
网址如下:Python time time()方法 | 菜鸟教程 (runoob.com)
然后我又跑了一下大概结果确定范围
以我做题时间为准跑出来的结果是1673399740.7883525
但是又看了用法跑出来是两位小数,我就确认了范围
还有一个需要考虑到的问题就是,当时的时间与现在时间不同,开头应该为15开头
于是下一步使用ARCHPR
掩码爆破,设置掩码15????????.??
,掩码符号为?
得到密码1558080832.15
打开文件得到flag
flag{fkjabPqnLawhvuikfhgzyffj}
5.从娃娃抓起
打开附件 得到题目描述以及一个txt文件
根据提示:有两种汉字编码
经查询:第一行是中文电码
转换结果为人工智能
网址:中文电码转换 - 在线工具栏 (usetoolbar.com)
第二行是:五笔输入编码
转换结果为:也要从娃娃抓起
所以这句话是:人工智能也要从娃娃抓起
再md5加密一下3b4b5dccd2c008fe7e2664bd1bc19292
所以最后的flag为flag{3b4b5dccd2c008fe7e2664bd1bc19292}
6.[DDCTF2018](╯°□°)╯︵ ┻━┻
打开附件得到一个txt文件
打开文件 搜索查询到移位密码
然后跑了个脚本解开得到密码
# -*- coding:utf-8 -*-
# author: mochu7
def hex_str(str):#对字符串进行切片操作,每两位截取
hex_str_list=[]
for i in range(0,len(str)-1,2):
hex_str=str[i:i+2]
hex_str_list.append(hex_str)
print("hex列表:%s\n"%hex_str_list)
hex_to_str(hex_str_list)
def hex_to_str(hex_str_list):
int_list=[]
dec_list=[]
flag=''
for i in range(0,len(hex_str_list)):#把16进制转化为10进制
int_str=int('0x%s'%hex_str_list[i],16)
int_list.append(int_str)
dec_list.append(int_str-128)#-128得到正确的ascii码
for i in range(0,len(dec_list)):#ascii码转化为字符串
flag += chr(dec_list[i])
print("转化为十进制int列表:%s\n"%int_list)
print("-128得到ASCII十进制dec列表:%s\n"%dec_list)
print('最终答案:%s'%flag)
if __name__=='__main__':
str='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd'
print("字符串长度:%s"%len(str))
hex_str(str)
flag{922ab9974a47cd322cf43b50610faea5}
7.[WUSTCTF2020]girlfriend
打开附件 得到一个wav文件
听一下这是电话音,用dtmf2num.exe
可以破解
得到了DTMF
号码
于是对着九键开始输入
999意思就是九键的第九位第三个(y),666就是九键的第六位第三个(o),88就是九键的第八位第二个(u),2就是九键的第二位第一个(a),然后以此类推,得到flag
flag{youaremygirlfriends}
8.[MRCTF2020]千层套路
打开附件得到提示
连续打开了几个,察觉出来这是个套娃题
于是根据提示:上脚本
import zipfile
name = '0573'
while True:
fz = zipfile.ZipFile(name + '.zip', 'r')
fz.extractall(pwd=bytes(name, 'utf-8'))
name = fz.filelist[0].filename[0:4]
fz.close()
跑完脚本,得到了636个压缩包,最后一个命名与其它不同
打开qr.zip
获得qr.txt
这个文件是一个二维码绘图
然后用脚本跑出二维码
from PIL import Image
x = 200 #x坐标 通过对txt里的行数进行整数分解
y = 200 #y坐标 x * y = 行数
im = Image.new("RGB", (x, y)) #创建图片
file = open('qr.txt') #打开rbg值的文件
#通过每个rgb点生成图片
for i in range(0, x):
for j in range(0, y):
line = file.readline() #获取一行的rgb值
if line=='(255, 255, 255)\n': # 粗暴的赋值……处理字符串实在麻烦
rgb=[255,255,255]
else:
rgb = [0, 0, 0]
im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2]))) #将rgb转化为像素
#im.show() #展示
im.save('flag.jpg') #保存
然后打开生成的图片
用qr research
扫描得到flag
flag{ta01uyout1nreet1n0usandtimes}