【愚公系列】2021年11月 攻防世界-进阶题-MISC-058(2-1)

简介: 【愚公系列】2021年11月 攻防世界-进阶题-MISC-058(2-1)

文章目录

一、2-1

二、答题步骤

1.修改文件头

2.根据crc32值爆破图像宽度

总结

一、2-1

题目链接:https://adworld.xctf.org.cn/task/task_list?type=misc&number=1&grade=1&page=4


二、答题步骤

1.修改文件头

先详细解释一下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计算得到。

也就是说我们可以通过**来得到高度和宽度


恢复png头为 89 50 4e 47 0d 0a 1a 0a


2.根据crc32值爆破图像宽度

import struct

import binascii

import os

 

m = open("misc4.png","rb").read()

for i in range(1024):

   c = m[12:16] + struct.pack('>i', i) + m[20:29]

   crc = binascii.crc32(c) & 0xffffffff

   if crc == 0x932f8a6b:

       print(i)

image.png

得到flag :flag is wdflag{Png_C2c_u_kn0W}


总结

  • 修改文件头
  • crc32值爆破图像宽度
相关文章
|
数据安全/隐私保护
攻防世界web-----easyupload
攻防世界web-----easyupload
|
安全 Shell Linux
Webshell管理工具:AntSword(中国蚁剑)
中国蚁剑的下载、安装、详细使用步骤
3771 1
|
Linux 网络安全 iOS开发
如何在Python中使用Pip换源
如何在Python中使用Pip换源
|
机器学习/深度学习 NoSQL Linux
攻防世界-Reverse新手区WP--no-strings-attached
攻防世界-Reverse新手区WP--no-strings-attached
124 0
|
SQL 安全 JavaScript
【网络安全 | CatCTF】ezbypass-cat
【网络安全 | CatCTF】ezbypass-cat
674 0
|
数据安全/隐私保护 Python
攻防世界-江苏工匠杯
攻防世界-江苏工匠杯
566 0
【愚公系列】2021年11月 攻防世界-进阶题-MISC-007(Aesop_secret)
【愚公系列】2021年11月 攻防世界-进阶题-MISC-007(Aesop_secret)
475 0
【愚公系列】2021年11月 攻防世界-进阶题-MISC-007(Aesop_secret)
|
vr&ar Python
【愚公系列】2021年11月 攻防世界-进阶题-MISC-041(Become_a_Rockstar)
【愚公系列】2021年11月 攻防世界-进阶题-MISC-041(Become_a_Rockstar)
450 0
|
监控 安全 Java
【愚公系列】2021年11月 攻防世界-进阶题-MISC-043(Cephalopod)
【愚公系列】2021年11月 攻防世界-进阶题-MISC-043(Cephalopod)
329 0
【愚公系列】2021年11月 攻防世界-进阶题-MISC-043(Cephalopod)