当前位置: 首页 > article >正文

BUUCTF [BJDCTF2020]一叶障目 1

BUUCTF:https://buuoj.cn/challenges
在这里插入图片描述

题目描述:
得到的 flag 请包上 flag{} 提交。来源:https://github.com/BjdsecCA/BJDCTF2020

密文:
下载附件,解压得到一张.png图片。
这里显示不出来,暗示被修改了宽高参数。(放在Linux中也无法显示)


解题思路:
1、在010 Editor中打开,提示CRC校验错误,结合题目提示“一叶障目”,认为图片被修改了宽高。

在这里插入图片描述
2、通过python脚本爆破宽高,得到正确的宽高,然后修改图片的宽高数据,得到正确的图片。爆破所用代码如下。

import os
import binascii
import struct

crcbp = open("repair.png", "rb").read()    #打开图片(修改图片路径)
for i in range(2000):
    for j in range(2000):
        data = crcbp[12:16] + \
            struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]
        crc32 = binascii.crc32(data) & 0xffffffff
        if(crc32 == 0x9BF1293B):    #图片当前CRC(修改CRC)
            print(i, j)
            print('hex:', hex(i), hex(j))

得到正确的宽高值。

在这里插入图片描述

3、修改图片中的宽高参数,然后保存图片。(红框左边为宽度,右边为高度)

在这里插入图片描述

打开图片,找到flag。

在这里插入图片描述

flag:

flag{66666}

http://www.kler.cn/news/136442.html

相关文章:

  • Typora 、 Minio and PicGo 图床搭建
  • PHP+REDIS设置请求限流(设置1秒内最大请求数1000QPS)
  • 分享一款录屏、直播软件
  • ffmpeg视频滤镜: 色温- colortemperature
  • 海外云手机怎样助力亚马逊店铺运营?
  • AIGC底层技术揭秘
  • 在服务器上部署MVC 6应用程序
  • 关于使用宝塔页面Nginx的一些注意事项:Nginx不生效情况,以及解决方案
  • 11.20 知识总结(choices参数、MVC和MTV的模式、Django与Ajax技术)
  • NameServer源码解析
  • milvus采坑一:启动服务就会挂掉
  • HashMap的详细解读
  • Vue3--Vue Router详解--学习笔记
  • Vue使用基本教程(基本介绍及对比,初步使用,构建项目,编辑器等)
  • 云计算赛项容器云2023搭建
  • Conditional GAN
  • Python如何将项目直接打包为一键整合包
  • C语言--给定一行字符串,获取其中最长单词【图文详解】
  • 记GitLab服务器迁移后SSH访问无法生效的问题解决过程
  • NX二次开发UF_CAM_ask_lower_limit_plane_status 函数介绍
  • 【PyQt小知识 - 3】: QComboBox下拉框内容的设置和更新、默认值的设置、值和下标的获取
  • 【Kingbase FlySync】命令模式:安装部署同步软件,实现KES到KES实现同步
  • vscode设置前进、后退快捷键
  • 社会媒体营销提问常用的ChatGPT通用提示词模板
  • 什么时候用@MapperScan 注解?
  • uniapp开发小程序,包过大解决方案