1. 进入环境,下载附件

给的一张png尾缀的文件,尝试双击打开,提示文件已损坏。猜测可能是文件头有问题,因此丢入winhex中,如图:

发现png文件头不对,去搜搜文件格式,进行修改。

2. 问题分析

查阅相关png图片的数据标识,https://blog.csdn.net/zz_Caleb/article/details/89927673:

先详细解释一下png的文件头:

  • (固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
  • (固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
  • (固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
  • (可变)13位数据块(IHDR)
    - 前四个字节代表该图片的宽
    - 后四个字节代表该图片的高
    - 后五个字节依次为:
    Bit depth、ColorType、Compression method、Filter method、Interlace method
  • (可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。
    也就是说我们可以通过爆破来得到高度和宽度

修改相关的头后,如图:

使用kali打开提示CRC错误,如图:

写到这里,无从下手,参考网上的脚本,提示png图片crc宽度爆破,搜了一下,看了看相关博客:
https://h3110w0r1d.com/archives/128/

根据提示,使用脚本进行宽度遍历

import binascii
import structwith open('./pic/148a3ba22b8541f48f354f3e27f0aa4c.png', 'rb') as file:# 得到文件的16进制数据data = file.read()for i in range(1024):# 找到数据的12到16位(IHDR)# struct.pack('>i', i)中>表示大端模式,i表示integer数据类型,将i为4位宽度进行表示# data[20 : 29]表示IHDR中的后9位# c表示IDCH和IHDR数据,用于后续crc校验c = data[12:16] + struct.pack('>i', i) + data[20 : 29]# 如果校验结果是符合winhex中图片的第13到16位的crc值,则爆破成功宽度crc = binascii.crc32(c) & 0xffffffffif crc == 0x932f8a6b:print(i)

跑出的图片宽度为709,对应16进制为0x2c5,我们在winhex中修改对应的宽度值,如图:

得到最终的可打开图片:


最终答案为:wdflag{Png_C2c_u_kn0W}

xctf攻防世界 MISC高手进阶区 2-1相关推荐

  1. xctf攻防世界 MISC高手进阶区 互相伤害

    1. 进入环境,下载附件 题目给的是一个文件,我们直接扔进kali中,发现是流量包,如图: 使用file命令查看该文件类型,发现也是提示是pcapng文件,如图: 2. 问题分析 提取数据 我们打开文 ...

  2. xctf攻防世界 MISC高手进阶区 3-11

    1.进入环境,下载附件 题目给的是一张猫猫png图片,如图: 2. 问题分析 kali中zsteg 我发现这个工具真的好用,如图: 如图,第一通道,rgb三色的lsb(least significan ...

  3. xctf攻防世界 MISC高手进阶区 打野

    1. 下载附件 题目给了一张bmp位图文件,尝试用StegSolve打开并查看,并没有什么发现,放入winhex中也没有什么内容,猜测可能需要需要进行StegSolve的Data Extract.但是 ...

  4. xctf攻防世界 MISC高手进阶区 saleae

    1. 进入环境,下载附件 题目给的一个压缩包,文件是saleae.logicdata文件,用Saleae软件打开,Saleae是一个逻辑分析工具,不仅可以记录数字和模拟两种信号,还可以解码 SPI.I ...

  5. xctf攻防世界 MISC高手进阶区 2017_Dating_in_Singapore

    1. 进入环境,下载附件 题目给了一串数据: 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310 ...

  6. xctf攻防世界 MISC高手进阶区 Ditf

    1. 进入环境,下载附件 是一张美图: 没有其他提示信息,接着走. 2. 问题分析 StegSolve探索 使用StegSolve打开图片,发现图片巨长.联想想到之前做的一个题,使用winhex修改图 ...

  7. xctf攻防世界 MISC高手进阶区 Miscellaneous-300

    1. 进入环境,下载附件 题目给的是一个zip文件,但是带有密码,尝试放入winhex中,发现并不是伪加密. 2. 问题分析 没有提示,没有伪加密,但是打开压缩包如图: 发现压缩包还有压缩包,名字数字 ...

  8. xctf攻防世界 MISC高手进阶区 Miscellaneous-200

    1. 进入环境,下载附件 给的是txt文件,一堆数据,如图: 数据范围为0-255之间,且三个数据为一组,那么很容易联想到RGB图片的像素值. 2. 问题分析 我们通过代码创建一幅图,将每一行数据当做 ...

  9. xctf攻防世界 MISC高手进阶区 Banmabanma

    1. 进入环境,下载附件 是一张斑马的图片,如图: 这么多条纹,一眼就猜到是条形码的竖线!但是截图,使用微信扫码扫了一整都没扫出来,看wp中都给的网页链接:https://online-barcode ...

  10. xctf攻防世界 MISC高手进阶区 misc1

    1. 进入环境 题目给出了一串字符串,并没有提示. 观察可以看到,每个字符都是在0-f之间,很像16进制.尝试用hackbar的decode玩一玩,发现没有什么结果. 尝试两位字符一组,第一组字符D4 ...

最新文章

  1. Ubuntu下安装Python开发的Facebook Faiss相似性搜索工具
  2. 关于input的change事件触发多次发解决
  3. Redis的架构模式
  4. WAP2.0开发规范及原则
  5. 游戏引擎cocos2d-android使用大全
  6. 【视频】Vue作者分享:Vue 3.0 进展
  7. thinkpad e420 装完新系统后,耳机有声音,外音没有,解决方法
  8. 自然语言处理NLP星空智能对话机器人系列:论文解读 How Good is Your Tokenizer? (你的词元分析器有多好?多语言模型的单语性能研究)
  9. 微信小程序 自定义底部导航栏
  10. java roundup函数_随手记之Linux 2.6.32内核SYN flooding警告信息
  11. AcWing 4246. 最短路径和(反向建图+链式前向星+堆优化)
  12. 港科夜闻|罗康锦教授获委任为香港科大工学院院长
  13. android JIN 第一步 生成java转换成class然后再转化成.h文件
  14. proteus8的简单运用
  15. Thinkjs——定时任务配置代码示例
  16. 几招搞定如何发送招聘兼职通知面试短信
  17. Springboot, link failure、SSL peer shut down incorrectly、Unsupported record version Unknown-0.0问题
  18. 有限个无穷小的和也是无穷小
  19. 从shape类扩展出一个正五边形类(求五边形的面积和周长)----java
  20. Mac Catalina(10.15.2) 2K外接屏幕分辨率适配

热门文章

  1. allpairs工具的使用
  2. 【Linux系统】第6节 Linux系统压缩与解压缩文件
  3. Boost Asio介绍
  4. 蓝桥杯 算法训练 ALGO-114 黑白无常
  5. Kickoff - 创造可扩展的,响应式的网站
  6. 微信小程序模板消息接口下线了,不用慌,调用统一服务消息接口来实现相同功能
  7. html直线动画,HTML5 Canvas流动线条动画特效
  8. 在存储过程中调用外部对象进行简繁互换
  9. 408复习策略(强化阶段)
  10. 久违了,我的baby!