| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> VNCTF2022_Misc_复现 -> 正文阅读 |
|
[数据结构与算法]VNCTF2022_Misc_复现 |
VNCTF2022_Misc_复现仔细找找放大图片可以看见有很小的与周围颜色不同的像素点均匀的分布在图片中 先寻找像素点之间的间隔,然后拼接在一起生成新的图片 代码实现
Prize wheel通过抽奖小程序获得flag.zip的解压密码(不断输1就可,PS:获奖概率几乎为0的话就反编译) 得到一张混沌的图片,可以看出是以正方形的形式(这里的正方形是以像素值为单位的)被打乱的像素原本应该在的地方 那么就按照正方形的路径遍历每个像素点,将每个像素点进行一步一步的移位,直到
直到定位的东西被放回了原位 可以看到图片上有不同于其他地方的白点,而且每个正方形的路径上只有一个白点 可以想到的利用白点来定位的方式就是把白点排成一条线(因为也没有其他提示了) 解析官方wp解题代码我们已经知道图片需要通过正方形的路径来遍历像素值,再进行调整使其归位 那么需要规定遍历的每个正方形的起点
其中 判定是否正确归位的条件,注意这里用的是RGBA作为像素点的属性(可以通过getpiexl函数查看)
当在图片在以宽度的中点,以高度的中点以上是白点(最后也就连成了一条白线)时,切换到下一个正方形 进行相邻像素值的转换,这里以边长为像素值3的正方形为例,以 首先从6处开始(备份6处的像素值),将7处的像素值移到6处,8处的像素值移到7处(前三个for循环有
完整官方wp解题代码
strage flag流量包是蚁剑流量,提取流量中所包含的文件数据 流量包导出第8个tcp流的原始数据,进行Gunzip转换(对原始数据的操作cyberchief的magic可以一步到位) 得到一组以 这是folders语言(一种esolang),相关介绍Folders - Esolang (esolangs.org)
详情看官方wp(我没试过)[VNCTF 2022 Official WriteUp.pdf (tonycrane.cc)](https://note.tonycrane.cc/assets/images/writeups/vnctf2022/VNCTF 2022 Official WriteUp.pdf)
比如:文件夹甲内有文件夹乙,则甲转换为1,乙则不作替换(不管);文件夹丙内无新的文件夹,则丙转换为0;注意:并不是所有文件夹都可以进行转换,在这里只有倒数第二层的文件夹可以转换,原因是其他层次的文件夹是folders语言的命令语句 只有红框里的文件夹可以转换 转换脚本
得到的是
很显然是错位了的,个人估计可能是因为folders语言的嵌套语句之内的原因;总而言之,得到的字符确实是flag出现的字符,大体的顺序也是对的,但是需要重新手动排位(尤其是n,c两个字符)
simple macos在压缩包里面寻找有用的文件
其中有提示(base64转码得到)
重点在某张图片里面 继续寻找其他可疑文件
有一段文字以及base64编码
其中base64转码得到一张图像的数据 010editor打开图片文件末尾有flag后半段 由提示:oursecret进行解密(注意要把图像文件中的flag后半段删除,不然oursecert提示没有隐藏数据)
解密得到flag前半段 base64转码得到一张图像的数据 010editor打开图片文件末尾有flag后半段 由提示:oursecret进行解密(注意要把图像文件中的flag后半段删除,不然oursecert提示没有隐藏数据)
解密得到flag前半段 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 16:33:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |