CTF-i春秋网鼎杯第二场misc部分writeup

套娃

下载下来是六张图片

直接看并没有什么信息

一个一个查看属性

没有找到有用信息

到winhexv里看一下

都是标准的png图片,而且没有flag写入Hex数据

继续扔到kali里用binwalk分析一下

图片未嵌入其他文件

直接在kali双击打开png图片,发现可以正常打开(注:被修改过高度的图片无法在kali中直接打开,会显示无法载入图像)

那继续分析IDAT块,IDAT是png图片中储存图像像数数据的块,不清楚的可以去补充一下关于png图片格式知识

我们使用pngcheck分析图片的IDAT块

1-5图片正常,但是6图片的块没有到32768就满了,猜测6图片可能有问题,划重点

上Stegsolve重点分析6.png

先向后翻几页,看看是不是直接可以得到信息

找到头也没找见什么东西,也不存在上一场的0通道lsb隐写,好吧,继续查看通道信息

勾选Red、Green、Bile的0通道,Order settings栏勾选LSB First  BGR,点击Preview如下所示

把滑动栏移到顶端,好吧,flag在playload中...(ps:当初确实做到这一步了,但是因为默认是跳到最后的,没往上找,痛苦...所以还是要细心)

神奇的二叉树

下载到题目后有两个文件,一个是文本文档一个是图片,既然给了文本文档那就看看吧

README.txt内容如下

MS7ov5nmmK/kuIDmo7XnuqLpu5HmoJEKMi7moJHku44xLTU55LiK55qE5p6c5a2Q5L6d5qyh5Li6IGVrYH4zYzpnZjAxN2I3NDQvYjM4ZmR+YWJtN2c1NDg5ZTJ7bGY2ejhkMTZoYWVgOTh9YnwtMjFtLmU6CjMu5L6d5qyh5LuO5qCR5LiK5Y+W6LWw56ysIDE4LDM1LDUzLDUwLDE0LDI4LDE5LDYsNTQsMzYg5Liq5p6c5a2QLOi/h+eoi+S4reS/neaMgee6oum7keagkeaAp+i0qOS4jeWPmAo0LnRtcGZsYWfkuLrnrKwgOCw1Niw0NywzNyw1MiwzNCwxNyw4LDgsMjksNyw0Nyw0MCw1Nyw0NiwyNCwzNCwzNCw1NywyOSwyMiw1LDE2LDU3LDI0LDI5LDgsMTIsNTcsMTIsMTIsMjEsMzMsMzQsNTUsNTEsMjIsNDUsMzQsMzEsMSwyMyDkuKrmnpzlrZAKNS5mbGFn5Li6IHRtcGZsYWcg57qi6Imy5p6c5a2QIEFTQ0lJICsxICwg6buR6Imy5p6c5a2QIEFTQ0lJLTEKNi7orqnmiJHku6zmhInlv6vnmoTlvIDlp4vojrflj5ZmbGFn5ZCn

看样子应该是base64加密,拿去解密一下

  好的,规则出来了,按照规则有共59个红色和黑色的球,1号到59号各代表一个字母或符号,需要拿掉题目中提到的10个球后依然保持红黑树的性质,然后在保证这个性质的同时比对剩下的球和字符,按照红色ASCll+1和黑色ASCll-1的规则确认最终的flag。

  好吧,那么什么是红黑树呢,红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。

它的性质如下:

  • 性质1. 节点是红色或黑色。
  • 性质2. 根节点是黑色。
  • 性质3 每个叶节点(NIL节点,空节点)是黑色的。
  • 性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
  • 性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

  有了性质就好说了,但是并不推荐手动画图,因为红黑树非是唯一解,所以最好利用网站:https://sandbox.runjs.cn/show/2nngvn8w在线生成红黑树。

  按层添加节点,生成树后,按顺序删除节点,发现不止一个解,排序头5个字母应为flag{,最后一个应为},得出8,56,47,37,52,23应为黑,黑,红,红,黑,黑
选择一个符合条件的红黑树,输出结果。

得到flag为

flag{10ff49a7_db11_4e43_b4f6_66ef12ceb19d}

原创文章,转载请标明出处:https://www.cnblogs.com/pureqh

CTF-i春秋网鼎杯第二场misc部分writeup的更多相关文章

  1. CTF-i春秋网鼎杯第一场misc部分writeup

    CTF-i春秋网鼎杯第一场misc部分writeup 最近因为工作原因报名了网鼎杯,被虐了几天后方知自己还是太年轻!分享一下自己的解题经验吧 minified 题目: 一张花屏,png的图片,老方法, ...

  2. CTF-i春秋网鼎杯第四场部分writeup

    CTF-i春秋网鼎杯第四场部分writeup 因为我们组的比赛是在第四场,所以前两次都是群里扔过来几道题然后做,也不知道什么原因第三场的题目没人发,所以就没做,昨天打了第四场,简直是被虐着打. she ...

  3. 2020 网鼎杯wp

    2020 网鼎杯WP 又是划水的一天,就只做出来4题,欸,还是太菜,这里就记录一下做出的几题的解题记录 AreUSerialz 知识点:反序列化 打开链接直接给出源码 <?php include ...

  4. 刷题记录:[网鼎杯]Fakebook

    目录 刷题记录:[网鼎杯]Fakebook 一.涉及知识点 1.敏感文件泄露 2.sql注入 二.解题方法 刷题记录:[网鼎杯]Fakebook 题目复现链接:https://buuoj.cn/cha ...

  5. 2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup

    2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup 2020年网鼎杯白虎组赛题.zip下载 https://download.csdn.net/download/jameswhit ...

  6. [网鼎杯 2018]Comment

    [网鼎杯 2018]Comment 又遇到了一道有意思的题目,还是比较综合的,考的跟之前有一道很相像,用的还是二次注入. 因为找不到登陆点的sql注入,所以扫了一下源码,发现是存在git泄露的. [2 ...

  7. 网鼎杯2020 AreUSerialz

    0x00 前言 ...有一说一,赵总的BUUCTF上的这道题目并没有复现到精髓.其实感觉出题人的题目本身没有那么简单的,只不过非预期实在是太简单惹. 涉及知识点: 1.php中protected变量反 ...

  8. 网鼎杯-Fakebook-反序列化和SSRF和file协议读取文件

    0x00知识点:SSRF SSRF (Server-side Request Forge, 服务端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外 ...

  9. [原题复现+审计][网鼎杯 2018] WEB Fakebook(SSRF、反序列化、SQL注入)

    简介  原题复现:  考察知识点:SSRF.反序列化.SQL注入  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过 ...

随机推荐

  1. 线程间的通信方式3--Handler

    Android的消息处理有三个核心类:Looper,Handler和Message.其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因 ...

  2. 【Python】Java程序员学习Python(六)— 流程控制、异常处理

    和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...

  3. ORACLE EXPDP命令使用详细

    相关参数以及导出示例: 1. DIRECTORY 指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目 ...

  4. CSS 小结笔记之三种样式表

    CSS 引入共有三种方式:内部样式表,内联样式(行内样式)表,外部样式表,当然也可以使用多重样式 内联样式 <div style="color:red;font-size:20px&q ...

  5. Mysql中的delimiter详解

    初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程.触发器.函数等. 学过oracle的人,再来学mysql就会感到很奇怪,百思不得其 ...

  6. c# 多线程之-- System.Threading Timer的使用

    作用:每隔多久去执行线程里的方法. class ThreadTimerDemo { static void Main(string[] args) { // Create an AutoResetEv ...

  7. Linux 加载卷组

    root 用户下执行: vgchange -ay vgdatamount /u01 vgdisplay 查看卷组

  8. 从MySQL向Greenplum集群中导入数据

    我们要从MySQL当中导出数据到Greenplum当中,按照以下步骤就可以 1:将MySQL当中的表导出外部文件 以schema_name.table_name为例 select product_id ...

  9. Jquery组织Form表单提交之Form submission canceled because the form is not connected

    有时候导出Excel时需要根据某些条件筛选数据,然后将数据通过NPOI生成Excel并导出.组织数据时可以通过放到一个表单中,某些场景是使用脚本(如:jquery)组织一个form(通过字符串拼接), ...

  10. C++发展概述、优缺点及应用领域

    个人观点(C++虽功能强大,但是底层还是调用C,C++为了吸引更多的C程序员,功能过于丰富且复杂,一定程度上反而降低了可编程的实用性.但是不可否认C++ 也是一门艺术.) C++是一门以C为基础发展而 ...