好耶!

老样子,还是以ctfshow[1]中misc入门中的题目为切入点

感兴趣的同学可以一边做题一边看看。呜呜,求点浏览量了

  • APNG隐写(MISC40)

    APNG是普通png图片的升级版,他的后缀依然是.png,包含动态的情况下体积会比普通静态大出数倍,可以做到无损的情况下展示动态。

    这里用到一个工具APNG Disassembler,它是一个 可以用来分解APNG图片的软件,使用这个工具可以把APNG动画图片中的每一帧都分解出来,并且把帧导出保存为图片文件。工具处理图片后,除每一帧图片外,每张图片还带有一个txt文件,内容为该帧delay的时间。



    而此题中的flag就隐藏在每一帧图片的delay时间中故我们可以用python代码jio本提取每个txt文件的内容(每个txt文本中的第七个字符开始取)明显可以看出是ascii码值,对应转换即可得到。

    此处贴出提取的jio本:

flag = ""
for i in range(1,69):
f = open('apngframe'+str(i)+'.txt')
s = f.read()
flag += chr(int(s.split("/")[0][6:])) print(flag)
  • IDAT隐写(MISC42)



    根据题目的意思大概就是flag的长度为41,用010editor打开后发现有49个IDAT块,说明其中有这么8个是混淆视听的,在IDAT块中翻一翻大概就能在unit32 length中找到规律:99,116,102,115,104,111,119...也就是对应着ctfshow的ASCII码值,那么将这些数慢慢写下来,然后jio本解码即可得到我们可爱的flag~

    如果觉得这么一个个翻太过于麻烦的话,也可以利用软件tweakPNG打开,直接就能看到(也没省事到哪去。。。

    贴个解码的jio本:

flag = ''
s = [balabalabalayiduishuju] for i in range(0,len(s)):
flag+=chr(s[i]) print(flag)
  • CRC隐写(MISC43)

    使用010editor打开附件可以发现CRC报错:



    将这些错误的编码收集起来十六进制转字符穿就是flag啦

  • CRC隐写转二进制(MISC44)

    这题其实就是承接上一题,毕竟上一题中并没有用到任何jio本

    但此题中不同的一点就是CRC报错数据实在是太长了!!345个IDAT块,这要是手撸,那怕是不疯也得傻了。

    故可以猜测不同的是这里correct行代表的是1,而chunk行代表的是0,这样我们就可以得到一串二进制数据,对之进行操作即可。

    更好一点的想法是将这个拖到上一题中所提到的小东西中,进而将所有的正错文本统一导出,就比较方便,至于应该怎么操作以后再说

写不动了写不动了鸽了鸽了

好吧实际上是卡壳了完全不想继续探索了

明天的事明天再说


  1. 你实现梦想的天堂

MISC中需要jio本处理的奇怪隐写的更多相关文章

  1. 记XDCTF的misc之旅---base64隐写

    bWFpbigpe2ludCBpLG5bXT17KCgoMSA8PDEpPDwgKDE8PDEpPDwoMTw8Cm==ICAgICAgIDEpPDwoMTw8KDE+PjEpKSkrKCgxPDwx ...

  2. [CTF隐写]png中CRC检验错误的分析

    [CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku ...

  3. CTF-练习平台-Misc之 隐写2

    二.隐写2 下载文件后解压,发现是一个png图片,依照老套路查看属性,没有发现 用WinHex打开,在图片文件中,修改图片宽度,将箭头处的A改为F,保存后打开图片 发现flag(对于png的文件格式详 ...

  4. 如果在Yii中,使用AR查询,不直接写sql,则在使用的时候会报错

    如果在Yii中,使用AR查询,不直接写sql,则在使用的时候会报错 Student::find() ->select("id,name,from_unixtime(create_tim ...

  5. LSB隐写加密MISC

    没有做过LSB隐写加密的题目,在buuoj上面做到了就记录一下,估计后面很长的时间都会在这个平台上面训练自己的MISC和WEB,是很好的平台,把很多比赛的原题和安恒的周赛的复现了. 题目是MISC里面 ...

  6. listview向下滑动过程中背景色变成黑色和一些奇怪问题

    ListView是一个经常要用到的android控件,现总结遇到过的一些美化的小细节. 1.listview在拖动的时候背景图片消失变成黑色背景,等到拖动完毕我们自己的背景图片才显示出来 这个问题是我 ...

  7. 转:在linux中vi 文件里行尾奇怪的^M及解决

    Linux编辑器vim中删除行尾的^M 有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符.看起来总是感觉很别扭. 删除方法如下: 在 Vim 的命令模 ...

  8. Centos7中所有的关机命令的奇怪现象

    今天在研究shutdown,reboot,halt,poweroff几种关机命令的区别是发现他们都是/bin/systemctl的软连接 ls -l /sbin/{shutdown,reboot,ha ...

  9. 在php中修改cookie值遇到的奇怪问题

    本想修改cookie的值比较简单,结果测试发现并不是. 刚开始实现cookie修改的思路:先删除以前的cookie值,再创建一个新的. setcookie('name',value,time()-1) ...

  10. react中路由不起作用的奇怪现象

    同样的两段Router代码,为什么一段正常,一段不起作用(也没有任何错误log提示) 瞪着眼观察也看不出为什么... 通过选中高亮显示内容相同, 为何就是有一段路由不管用呢? 折腾半天发现... 大小 ...

随机推荐

  1. 大家都在用MySQL count(*)统计总数,到底有什么问题?

    在日常开发工作中,我经常会遇到需要统计总数的场景,比如:统计订单总数.统计用户总数等.一般我们会使用MySQL 的count函数进行统计,但是随着数据量逐渐增大,统计耗时也越来越长,最后竟然出现慢查询 ...

  2. Pod原理

    Pod 是 Kubernetes 集群中最基本的调度单元,我们平时在集群中部署的应用都是以 Pod 为单位的,而并不是我们熟知的容器,这样设计的目的是什么呢?为何不直接使用容器呢? 为什么需要 Pod ...

  3. Solutions:Elastic workplace 搜索:随时随地搜索所有内容 (二)

  4. 第一个Django应用 - 第一部分:请求与响应

    一. 新建项目 进入你期望的项目保存目录,运行下面的命令: $ django-admin startproject mysite 这将在目录下生成一个mysite目录,也就是你的这个Django项目的 ...

  5. Elasticsearch:使用 GeoIP 丰富来自内部专用 IP 地址

    转载自:https://blog.csdn.net/UbuntuTouch/article/details/108614271 对于公共 IP,可以创建表来指定 IP 属于哪个城市的特定范围.但是,互 ...

  6. Git Review + Gerrit 安装及使用完成 Code-Review

    转载自:https://cloud.tencent.com/developer/article/1010615 1.Code Review 介绍 Code Review 代码评审是指在软件开发过程中, ...

  7. proxy解决跨域问题

    首先我们在本地开发,域名都是localhost,当我们需要请求后台数据时,就会出现跨域的问题 下面就是在vue.config.js配置文件里: devServer: {     proxy: {    ...

  8. POJ2955 Brackets (区间DP)

    很好的区间DP题. 需要注意第一种情况不管是否匹配,都要枚举k来更新答案,比如: "()()()":dp[0][5]=dp[1][4]+2=4,枚举k,k=1时,dp[0][1]+ ...

  9. ASP.NET Core :中间件系列(三):中间件限流

    中间件 微软官网定义: 中间件 中间件意思就是处理请求和响应的软件: 1.选择是否将请求传递到管道中的下一个组件. 2.可在管道中的下一个组件前后执行工作. 对中间件类 必须 包括以下 具有类型为 R ...

  10. git中 gitignore 忽略文件操作

    通常,.gitignore文件被放置在存储库的根目录中.根目录也称为父目录和当前工作目录.根文件夹包含组成项目的所有文件和其他文件夹.也就是说,您可以将它放在存储库中的任何文件夹中.你甚至可以有多个. ...