[第九章 CTF之MISC章]两个部分的flag

题目描述:flag书中自然有,有两个部分哦
下载到一张图片stego.png
hex分析以PK结尾,foremost分离压缩包,解压后获得新的图片2.jpg
查看属性信息获得part1(wonima)

第二部分要分析下载的图片,使用zsteg

n1book{414e529ece64a77d25cc9ee5108a49c6}

zsteg介绍:
zsteg可以检测PNG和BMP图片里的隐写数据。
目前,zsteg支持检测:

  1. LSB steganography in PNG & BMP
  2. zlib-compressed data
  3. OpenStego
  4. Camouflage 1.2.1
  5. LSB with The Eratosthenes set

使用方法:
查看LSB信息

zsteg pcat.png

检测zlib

# -b的位数是从1开始的
zsteg zlib.bmp -b 1 -o xy -v

显示细节

zsteg pcat.png -v

尝试所有已知的组合

zsteg pcat.png -a

导出内容

zsteg -E "b1,bgr,lsb,xy" pcat.png > p.exe

其他的请查看README.md

[第九章 CTF之MISC章]压缩包中的乐趣

题目描述:flag书中自然有,依然有两个部分哦(妈的,误导,就一个部分
下载是1.zip一个压缩包
爆破了半天没爆破出来密码,winrar rebuild修复也没解出来伪加密,卡住半天搜wp,考点还是伪加密

伪加密知识点

zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包
一个 ZIP 文件由三个部分组成:
压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志


  1. 压缩源文件数据区:

50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密)
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
00 00:扩展记录长度

  1. 压缩源文件目录区:

50 4B 01 02:目录中文件文件头标记(0x02014b50)
3F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了,当数字为奇数是为加密,为偶数时不加密
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量

  1. 压缩源文件目录结束标志:

50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
59 00 00 00:目录区尺寸大小
3E 00 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP 文件注释长度


更改后可以正常解密

发现解压的压缩包CRC值完全一样

这里考虑使用已知明文攻击

明文攻击知识点

我们为zip压缩文件所设定的密码,首先被转换成3个32bit的key,所以可能的key的组合是2^96,这是个天文数字
如果用暴力穷举的方式是不太可能的,除非你的密码比较短或者有个厉害的字典。
压缩软件用这3个key加密所有包中的文件,也就是说,所有文件的key是一样的,如果我们能够找到这个key,就能解开所有的文件。
如果我们找到加密压缩包中的任意一个文件,这个文件和压缩包里的文件是一样的
我们把这个文件用同样的压缩软件同样的压缩方式进行无密码的压缩,得到的文件就是我们的Known plaintext(已知明文)。
用这个无密码的压缩包和有密码的压缩包进行比较,分析两个包中相同的那个文件,抽取出两个文件的不同点,就是那3个key了,如此就能得到key。
两个相同文件在压缩包中的字节数应该相差12个byte,就是那3个key了。虽然我们还是无法通过这个key还原出密码,
但是我们已经可以用这个key解开所有的文件,所以已经满足我们的要求了,毕竟对我们而言,得到解压后的文件比得到密码本身更重要。

这里我们直接使用修改完标志位的原始zip文件作为已知明文进行攻击:
如果自己使用压缩工具对1.png进行压缩作为明文的话可能会报“在选定的档案中没有匹配的文件”错误,导致破解失败。
此外,软件爆破的时候爆破很久都没结果,点击停止倒是突然提示爆破成功。。。。。。

n1book{665125b99ebb34fe8c74a36e1bf3d958}

[第九章 CTF之MISC章]听个音乐吧

题目描述:听起来是噪音,实则有秘密哦~
下载flag.wav文件
题目是wav文件,那就Audacity打开
Audacity是一款跨平台的音频编辑软件,用于录音和编辑音讯

n1book{6fe7cc6d7a6b024c91968f021524e2f7}

N1BOOK MISC相关推荐

  1. BUUCTF笔记之N1BOOK

    1.[第一章 web入门]常见的搜集 robots.txt得到一部分flag: flag1:n1book{info_1 备份文件index.php~得到第二部分flag: flag2:s_v3ry_i ...

  2. sun.misc.BASE64Encoder找不到jar包的解决方法

    1.右键项目->属性->java bulid path->jre System Library->access rules->resolution选择accessible ...

  3. python使用matplotlib可视化、使用matplotlib可视化scipy.misc图像、自定义使用grey灰色映射、将不同亮度映射到不同的色彩、并添加颜色标尺

    python使用matplotlib可视化.使用matplotlib可视化scipy.misc图像.自定义使用grey灰色映射.将不同亮度映射到不同的色彩.并添加颜色标尺 目录

  4. python使用matplotlib可视化、使用matplotlib可视化scipy.misc图像、自定义使用RdYIBu色彩映射、将不同亮度映射到不同的色彩

    python使用matplotlib可视化.使用matplotlib可视化scipy.misc图像.自定义使用RdYIBu色彩映射.将不同亮度映射到不同的色彩 目录

  5. python使用matplotlib可视化、使用matplotlib可视化scipy.misc图像、自定义使用winter色彩映射、将不同亮度映射到不同的色彩

    python使用matplotlib可视化.使用matplotlib可视化scipy.misc图像.自定义使用winter色彩映射.将不同亮度映射到不同的色彩 目录

  6. python使用matplotlib可视化、使用matplotlib可视化scipy.misc图像、自定义使用Accent色彩映射、将不同亮度映射到不同的色彩

    python使用matplotlib可视化.使用matplotlib可视化scipy.misc图像.自定义使用Accent色彩映射.将不同亮度映射到不同的色彩 目录

  7. 不降低scipy版本解决AttributeError: module ‘scipy.misc‘ has no attribute ‘imresize‘问题

    问题描述 在Tensorflow2.1.0上运行代码出现 AttributeError: module 'scipy.misc' has no attribute 'imresize' 查阅资料大多都 ...

  8. module 'scipy.misc' has no attribute 'imresize'

    报错 module 'scipy.misc' has no attribute 'imresize' import scipy.misc scipy.misc.imresize(img, (im_he ...

  9. sun.misc.BASE64Encoder在Eclipse中不能直接使用的原因和解决方案

    1.为什么在Eclipse中不能直接使用sun.misc.BASE64Encoder和sun.misc.BASE64Decoder呢? 因为sun.misc.BASE64Encoder和sun.mis ...

最新文章

  1. android无法实例化服务,Android:无法实例化类:没有空的构造函数
  2. c语言用一维数组求字符串,c语言一维数组练习题.doc
  3. python爬虫数据分析可以做什么-自学Python爬虫学到什么程度?就可以去找工作了?...
  4. 基础的互联网连接词汇—Vecloud微云
  5. 创建故障转移群集,LiveMigration系列之六
  6. C语言中.h文件和.c文件如何理解?看完详细解析,小白也能懂!
  7. win2008删除计算机用户,Windws Srv 2008内置账户
  8. po 价格条件表_海纳易拓图文讲解SAP MM模块采购价格条件
  9. php pdf添加水印图片,php pdf添加水印(中文水印,图片水印)
  10. 号码卡JAVA算法---猜车牌号
  11. 福晶科技与九章量子计算机,量子计算机“九章”横空出世,还要光刻机吗?12月3日,中国量子计算机“九章”横空...
  12. 保障系统迁移服务器搬迁,整体中心机房搬迁服务器idc数据迁移方案应用场景
  13. 移动硬盘提示RAW的资料找到办法
  14. 用SDK包开发K66FX18学习笔记(3)
  15. Python趣味案例 - 抓扑克牌的手气
  16. 小白数据库下载数据教学
  17. 嵌入式linux下复位声卡驱动
  18. IMX6ULL_PRO嵌入式开发板介绍
  19. 解析 EXCEL 去重
  20. 概率论——二维正态分布及二维几何分布

热门文章

  1. 攻防世界 - reverse - open-source
  2. web安全day1:wifi安全
  3. 基石为勤能补拙的迷宫之旅——第五天(Python基本数据类型及内置方法)
  4. innovus停止当前命令_Genus和innovus 命令概述-- Cadence
  5. Lucene查询操作
  6. python汉字转拼音函数_Hanlp汉字转拼音使用python调用详解
  7. 谨以此文纪念我长达半年的Java自学之路(已拿offer)
  8. 【转】使用SpringJUnit4ClassRunner进行单元测试
  9. ImportError: cannot import name ‘_nt_quote_args‘ from ‘distutils.spawn‘(DINO-detr环境配置报错)
  10. 流量汇总案例(一)之统计手机号耗费的总上行流量、下行流量、总流量(序列化)