CTFshow-菜狗杯-misc(1-6)

2023-10-29

杂项签到-flag直接放入16进制文件

用winhex工具打开直接搜ctfshow就可以了(ctrl+F调出搜索框,注意选择ASCII编码,不是unicode): 

损坏的压缩包-更改文件类型

使用winhex打开,发现是png的格式特征,将文件后缀改成.png:

png文件格式详解,其中辅助数据块可以略过。

成功拿到flag

迷之栅栏

 看题目应该跟栅栏密码有关,先打开看到里面有两张图:

提醒我们找不同,于是用010Editor工具比较两张图片,找到不同:

这看着就像栅栏:

cfhwfaab2cb4af5a5820}
tso{06071f997b5bdd1a

于是在线解密一下,达到flag:

 你会数数吗

先用的winhex打开,以为是什么加密,但是凯撒密码也不像,也没什么其它特征;看了一下题目,也不懂这个提示是什么意思。。。。

找了个wp,发现是让我数每个字母出现的次数······好吧,菜狗杯也做不出来。用010Editor打开,然后使用该工具里的直方图,计数是由多到少:

 最终得到flag:

ctfshow{a1b2d3e4g56i7j8k9l0}

你会异或吗

这个题目给的提示就是异或,先用winhex打开看看png图片:

 看起来并没有什么文件特征,但是,异或这个提示,还给了一个神秘数字0x50,那就试试吧:

0xd9^0x50=>0x89
0x00^0x50=>0x50
0x1e^0x50=>0x4e
0x17^0x50=>0x47

我们发现这不就是png文件头的特征吗,于是写个脚本:

f=open("misc5.png",'rb')
con=f.read()#二进制形式
with open('flag.png','wb') as nfile:
    for b in con:
        #这里的b是int形式,要转换成bytes时,使用bytes(),且里面的内容需要加[]
        nfile.write(bytes([b^0x50]))

得到flag图片:

 flag一分为二

从标题看起来这个题就不仅仅会使用一种隐写方式了,不要慌,起码他是个能正常打开的图了;

CRC改变宽高隐写

先用StegSlove工具打开,analyse方式选择file format:

 可以发现crc和计算出的crc不一致,所以猜测是更改了图片的宽高,于是先使用脚本根据图片中的crc计算出真实的宽高:

#png图片爆破宽高
import zlib
import struct
file = '1.png'
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
#crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
crc32key = 0x7507b944
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00')
n = 4095
for w in range(n):
    width = bytearray(struct.pack('>i', w))
    for h in range(n):
        height = bytearray(struct.pack('>i', h))
        for x in range(4):
            data[x+4] = width[x]
            data[x+8] = height[x]
            #print(data)
        crc32result = zlib.crc32(data)
        if crc32result == crc32key:
            print(width,height)
            print(data)
            newpic = bytearray(fr)
            for x in range(4):
                newpic[x+16] = width[x]
                newpic[x+20] = height[x]
#           fw = open(file+'.png','wb')
            fw = open(file, 'wb')
            fw.write(newpic)
            fw.close
            print("It's done!")

可以看到计算出来的结果,同时图片的宽高已经被修改成功:

 打开图片可以看到图片下方已经出现了一部分flag:

盲水印隐写

然后我们再找第一部分的flag,首先想到会不会是LBS隐写,于是又用了StegSlove工具打开,analyse方式选择data extract,选择最低位的隐写:

 发现得到的数据并没有什么特征,那应该就不是了。

于是又想到盲水印,于是使用BlindWatermark(这个需要java环境,下载了源代码后还需要自己编译一下):

 一开始用的cosin变换(-c)的方式解析,发现有字但是很不清楚,于是又用了傅里叶变换(-f)解析,发现成功得到第一部分flag:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CTFshow-菜狗杯-misc(1-6) 的相关文章

  • mac m2 安装使用linux

    问题出现在哪里
  • 图片转为git 小程序 python

    先展示效果图 下面展示一些 内联代码片 import os import imageio from natsort import natsorted def create gif image list gif name frames for
  • android 平板怎么刷机,小白必看,安卓平板电脑刷机教程之一键刷机

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 从来没刷机的的小白 你有以下疑问吗 什么是 刷机 什么是 ROM 什么是 ROOT 什么是 Recovery 什么是USB调试模式 如何打开USB调试模式 刷机会不会损坏我的设备 刷机中途能拔掉
  • 利用反射创建对象

    public class Reflection public static void main String args throws Exception Reflection reflection new Reflection System
  • HTML属性

    目录 HTML 属性 属性实例 更多 HTML 属性实例 属性例子 1 属性例子 2 属性例子 3 HTML 提示 使用小写属性 始终为属性值加引号 HTML 属性参考手册 一个完整的实例 属性为 HTML 元素提供附加信息 HTML 属性

随机推荐

  • 安装Firefly错误-Unable to find vcvarsall.bat

    晚上尝试安装Firefly时 在安装twisted时出现错误而退出 根据错误提示如下 error Setup script exited with error Microsoft Visual C 9 0 is required Unabl
  • 5、基于注解的AOP配置

    一 开启注解支持 1 概述 1 Spring AOP如同IoC一样支持基于XML和基于注解两种配置方式 基于注解所需的依赖和基于XML所需的依赖一致 其中spring context包含了Spring IoC Spring AOP等核心依赖
  • 改进的北方苍鹰算法优化VMD参数,最小包络熵、样本熵、信息熵、排列熵(适应度函数可自行选择,一键修改)包含MATLAB源代码...

    今天给大家带来一期由改进的北方苍鹰算法 SCNGO 优化VMD的两个参数 同样以西储大学数据集为例 选用105 mat中的X105 BA time mat数据中1000个数据点 没有数据的看这篇文章 西储大学轴承诊断数据处理 matlab免
  • linux之数据库操作,Linux之MySQL数据库常用操作

    8种机械键盘轴体对比 本人程序员 要买一个写代码的键盘 请问红轴和茶轴怎么选 因为最近在使用云服务器部署项目 所以也难免要在服务器上使用MySQL 所以就想把MySQL常使用记录下来 以便日后查看并熟悉 也希望能够对大家有所帮助 首先你需要
  • Linux内核TCP参数调优全面解读

    Linux内核TCP参数调优全面解读 前言 TCP 性能的提升不仅考察 TCP 的理论知识 还考察了对于操心系统提供的内核参数的理解与应用 TCP 协议是由操作系统实现 所以操作系统提供了不少调节 TCP 的参数 如何正确有效的使用这些参数
  • redis配置超时时间

    redis配置超时时间 cd usr local redis etc vim redis conf 找到timeout 0 改为 timeout 30
  • 在sublime text中用终端来编译运行java

    在sublime text中用终端来编译运行java sublime text是一款非常优秀的轻量编辑器 今天就来给大家演示下如何用sublime来编译运行java 安装Terminus 首先需要在sublime中安装terminus这个终
  • JAVA学习之——计算机网络(背诵版)

    1 简述OSI七层协议 物理层 主要解决两台物理机之间的通信 通过二进制比特流的传输来实现 二进制数据表现为电流电压上的强弱 到达目的地再转化为二进制机器码 网卡 集线器工作在这一层 在局部局域网上传送数据帧 它负责管理计算机通信设备和网络
  • 【转】C语言的学习路线

    http topic csdn net u 20110922 08 391f0557 6bbc 490d 8394 b7dede44fa0e html seed 1927482974 r 75671683 r 75671683 UNIX下C
  • Java中判断两个类是否相等

    Java中判断两个类是否相等 当有参数的类生成对象时 当两个对象给的参数相同时 会将第二个对象指向第一个对象的地址 如实例中展示 会输出true public class test1 public static void main Stri
  • GLSL 程序与使用

    核心模式OpenGL GLSL程序 GLSL程序简介和在QT中向GLSL程序变量传递数据 数据类型 包含基本数据类型 int float double uint bool 两种容器类型 向量 Vector 标识符 含义 vecn n个flo
  • 宏任务与微任务

    首先执行顺序 同步任务 gt 异步任务 异步任务又分为 宏任务与微任务 所以整个顺序为 同步任务 gt 微观任务 gt 宏观任务 微观任务大概有Promise then Object observe MutationObserver pro
  • shinelon笔记本进bios设置u盘启动_系统重装U盘启动进BIOS按键查询

    点击蓝字 关注我们 总的来讲 设置电脑从U盘启动一共有两种方法 第一种是开机时候按快捷键然后选择U盘启动 第二种进Bios然后设置U盘 PART ONE 一 U盘启动 组装机主板 品牌笔记本 品牌台式机 主板品牌 启动按键 笔记本品牌 启动
  • WIN32_FIND_DATA、FILETIME、FindFirstFile对文件的操作

    WIN32 FIND DATA FILETIME对文件的操作 include stdafx h include
  • 解决Agora声网音视频在后台没有声音的问题

    前言 本文会介绍 Android 与 iOS 两个平台的处理方式 一 Android高版本在应用退到后台时 系统为了省电会限制应用的后台活动 因此我们需要开启一个前台服务 在前台服务中发送常驻任务栏通知 以此来保证App 退到后台时不会被限
  • 一篇文章看懂Oracle开窗函数

    聚合类开窗函数 聚合类开窗函数类似分组函数group by中的sum avg count max min 等等 但是开窗函数不会像分组聚合函数一样按照分组返回结果 而是有多少行记录就返回多少个结果 结果输出的形式是单独一列进行输出 举个例子
  • mqtt安卓客户端

    1 MQTT 消息队列遥测传输协议 是一种基于 发布 订阅 publish subscribe 模式的 轻量级 通讯协议 该协议构建于TCP IP协议上 MQTT最大优点在于 可以以极少的代码和有限的带宽 为连接远程设备提供实时可靠的消息服
  • 在职场中比能力更重要是什么?

    一个人能力很重要 但是比能力更重要的是一个人的人品 如果一个人的人品有问题 那么很难给予重任 如果只有能力 没有人品 人就会残缺不全 人品决定态度 态度决定行为 行为决定着最后的结果 没有一个公司会愿意重用一个人品欠缺的人 那么比能力更重要
  • 针对Java文档的搜索引擎

    针对Java文档的搜索引擎 项目介绍 项目模块划分及分析 1 索引模块 Parser 类核心业务 Index 核心业务 多线程制作索引 2 搜索模块 分词 生成描述 停用词 3 Web模块 展示 项目介绍 本项目是一个基于SpringBoo
  • CTFshow-菜狗杯-misc(1-6)

    杂项签到 flag直接放入16进制文件 用winhex工具打开直接搜ctfshow就可以了 ctrl F调出搜索框 注意选择ASCII编码 不是unicode 损坏的压缩包 更改文件类型 使用winhex打开 发现是png的格式特征 将文件