暑假集训7.06
[羊城杯 2021]Baby_Forenisc
一个raw,先看文件的系统信息
搜索命令行的输入历史记录,发现用git指令上传了文件,然后删除了本地文件,提示我们找到他的账户
扫描一些常见的文件
发现了ssh.txt,github会配置ssh key密钥,把它取出来
用base64解码一下,找到末尾的邮箱
去GitHub搜索,找到文件
一个文件没信息,另一个文件是js代码
在代码里找到密文,解码得到flag
[NISACTF 2022]bilala的二维码
有提示:bilala说,里面会不会还藏着什么东西呢,图片分辨率好像有用诶,压缩包密码好像和战队名字相关
一个png,补一下二维码定位符
扫到一个网址https://video.gz2.com.cn/h666G/h666G_kzwIVy
网址下载一个jpg
jpg末尾还有一段jpg数据和一段zip数据,直接手动提取,先看看zip,有加密的mp3文件,根据提示猜测密码是NiSA,mp3是摩斯密码,可以直接用在线网站解
第二部分是jpg的分辨率
组合得到flag为NSSCTF{M0RS34ND282X231}
[NISACTF 2022]流量包里有个熊
一个没有后缀的文件,应该是流量包,加上后缀.pcap,打开流量包,在http对象列表找到了jpg并导出
jpg用010打开,发现末尾还有一段rar数据,取出来,里面有一个jpg(没什么用),两个flag.txt
一个是假flag
一个是密文
密文进行rot13解码,发现是jpg的十六进制格式,用010写成jpg
最后进行盲水印,不是特别看得清
得到flag为NSSCTF{S0_clev2l_You}
[NISACTF 2022]破损的flag
一个没有后缀的文件,应该是流量包,加上后缀.pcap,打开流量包,发现是usb键盘流量
直接进kali用脚本跑
这是键盘密码,把密文中的字母围起来的字母找出来,得到i m g u l f f l a g i s w e l c o m e t f j n u,组合一下im gulf flag is welcome t fjnu
根据题目描述这是破损的flag,要把t补全成to,最终得到NSSCTF{welcome_to _fjnu}
[NISACTF 2022]神秘数字
题目描述: 这里有五行神秘字符,看看它们分别代表什么吧 ovty fgh wnn 0678 3127 2347 0155 5074 MAZY AGD BMY NFA XOBV UCL A MFJI 40227 44801 36780 27620 YPTC QVIO MGBHU JYK 汉字是一种伟大的创造,是史上迄今为止连续使用时间最长的主要文字,也是上古时期各大文字体系中唯一传承至今的文字体系,到了现代,随着时代和信息的发展,人们从中引出了不少变形,他们都在为着汉字的安全性做出了贡献,时至今日,它们可能已经淘汰,但是对我们来说,他们仍有着一些现实意义。请你将得到的一句话转换成md5并包上NISA字符,flag形式为NSSCTF{md5值大写}
第一行是五笔
第二行是中文电码
第三行是郑码
第四行是四角号码
第五行是仓颉编码
组合得到数十亿合法操作者每天都体验着一种有共识的虚拟现实,进行md5的32位加密,得到flag即为NSSCTF{BE29981639FCE3A4B719E4347FED9E43}
[NISACTF 2022]套娃
一个txt和一个raw,txt为Unicode加密
再用CyberChef,得到一组数据
去看raw的系统信息
搜索常见的文件,有pwd.txt和flower.zip,都提取出来
txt为zip的密码,用CyberChef最后一步出不来,要手动调出base64的变表
打开zip,是很多图片,正好是36张,按前面的那组数据进行拼图
from PIL import Image order_list = [32, 24, 6, 28, 15, 31,7, 23, 13, 27, 30, 33,12, 8, 5, 26, 29, 16,34, 22, 2, 14, 9, 17,21, 1, 19, 10, 4, 36,35, 25, 11, 20, 3, 18] num = 0 box = [0,0,50,50] new_image = Image.new('RGB', (300, 300), (255, 255, 255)) for i in order_list: img = Image.open(str(i)+".png") #图片拷贝 #print(box) new_image.paste(img, box) num += 1 #变换行列 if (num >= 6): num -= 6 box[1] += 50 box[3] += 50 box[0] = 0 box[2] = 50 elif (num < 6): box[0] += 50 box[2] += 50 new_image.show() new_image.save("flag.png")
得到58s4vb6rt4pt5r32yd6ht5u656555r6796524vi69r2yd5om6w0,这是
Twin-Hex
编码,又称为双十六进制编码(https://www.calcresult.com/misc/cyphers/twin-hex.html)