2021年江西省网络安全大赛初赛MISC:extractall(循环解压+斐波那契脑洞)
2021-09-28 17:11
911 查看
[toc]
解题思路
在附件里面的文件长这样: 首先点开hint.txt 发现,直接告诉了解压包密码是前一个解压包的名字。 (这句话用南昌话说更带味) 解压之后,发现还是有压缩包,于是这可能就是
杂项固定的套路之一——循环解压但是在解压之前,要思考,题目的名字是什么意思? 百度一下,发现,extractall是python解压库里面的一个函数名:
extractall是一个函数,能够解压文件,传入路径,文件名和密码就能使用但是遇到的错误是,
密码必须经过编码,也就是后面需要加上一个encode()因为
python3不自动支持ascii码了,extractall要求输入的是字节类型
所以使用脚本:
import zipfile name = '[REFTQ.zip' for i in range(100): f = zipfile.ZipFile(name , 'r') f.extractall(pwd=name[:-4].encode()) name = f.filelist[0].filename print(name[:-4],end="") f.close()
可以明显,看出,在解压名后面有个==,很可能是base64编码 尝试进行解码: 可以解码一部分,那肯定有一些是多余的,我们要去掉 暂且先放在这 解压后可以得到flag.txt文件,以及一张图片 打开flag.txt,可知答案不在这里 打开图片extractall.png 下面一半很显然被截取 使用winhex对图片的高进行加长: 在winhex中,
从第16位开始,每4位就是图片的宽和高的值直接把1改成2,如图
得到内容: 它是哪个?识图一下: 斐波那契。 斐波那契数列是1、1、2、3、5、8、13、21,刚刚好到21 联想到之前的base64解码,我们的第一,第二,和第21的码都可以解出来,唯独中间的码不能解,猜想,可能需要按照斐波那契数列提取编码 按照斐波那契提取出来后,进行解码,得到了flag
总结
问题 | 方法 |
---|---|
脚本写不出来 | 尝试回归题目寻找信息,上面使用extractall可能就是需要搜索这个信息的 |
base64解码遇到乱码 | 如果是部分解码成功,那肯定在编码中需要增加或者删去什么,部分解码成功的编码要多加思考,找到规律 |
png隐写 | 最一般的是隐写长宽,然后还有像素、二维码、lsb、两图片合成、binwalk等等 |
这题脑洞比较大吧
相关文章推荐
- “中国网安•深思杯”第八届山东省大学生网络安全技能大赛选拔赛Misc题目Write up
- 黑龙江省网络安全技能大赛 初赛 RE300 writeup ——Lilac 逆向组
- 陕西省网络空间安全技术大赛部分题目writeup
- [网络安全自学篇] 二十一.GeekPwn 2019极客大赛之安全攻防技术总结及ShowTime
- 广西首届网络安全选拔赛 MISC Wirteup
- 第四届山东省网络安全技能大赛 write up
- 2020年第二届网鼎杯网络安全大赛青龙组 crypto boom
- [置顶] CTF--2016XDCTF全国网络安全大赛之reverse5
- 2018年全国职业院校技能大赛(中职组)网络空间安全赛题解析
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(网络与协议)
- 蓝盾杯网络空间安全攻防对抗大赛小记
- 2015中国网络安全大赛:框架漏洞真题
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(网络与协议)
- 蓝盾杯网络空间安全***对抗大赛小记
- 2020高校战“疫”网络安全分享赛MISC题分析
- 网络攻防007——奇虎360软件安全大赛即将开战!
- 第五届上海市大学生网络安全大赛官方WP
- 第三届全国网络空间安全技术大赛 Web补题 By Assassin(持续更新)
- 第三届上海大学生网络安全大赛 流量分析
- 第三届上海大学生网络安全大赛 junkcode writeup