XCTF-Misc1 a_good_idea Ditf

news/2024/5/19 23:44:45 标签: 网络安全, ctf

a_good_idea

附件是一张图片
请添加图片描述

分析

查看图片备注、校验CRC、通道检查、LSB查看,都没什么问题。扔到Kali里面看看文件能不能分离出其他文件。
在这里插入图片描述分离出来一个压缩包,里面包含一个txt和两张png
hint.txt提示:
在这里插入图片描述
让我们关注像素。
两张图片to.png和to_do.png,对其进行对比。
StegSolve工具里面可以直接进行Image Combine
在这里插入图片描述
当两张图片进行像素SUB减法运算时,呈现出一张二维码
在这里插入图片描述
扫描二维码得到flag。
在这里插入图片描述

Ditf

附件是一张图片
在这里插入图片描述

分析

1. IHDR隐写

扔到Tweakpng中发现CRC校验错误
在这里插入图片描述

扔到反推的脚本里面

#coding:utf-8
import binascii
import struct


crcbp = open("Ditf.png","rb").read()	#打开图片
print("读取中...")
print("CRC校验位[29-33]:",crcbp[29:33].hex())
crc32frombp = int(crcbp[29:33].hex(),16)        #读取图片中的CRC校验值
#print("图片中的CRC校验值:",crc32frombp)

for i in range(4000):
    for j in range(4000):
        data = crcbp[12:16] + struct.pack('>i',i) + struct.pack('>i',j) + crcbp[24:29]
        crc32 = binascii.crc32(data) & 0xffffffff
        #计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定
        if(crc32 == crc32frombp):
            print("图片大小为:",i,j)
            print("宽度[16-19]:",hex(i),"\t高度[20-23]:",hex(j))
            break

在这里插入图片描述
将图片的高度修改为0x0514
在这里插入图片描述
修改高度后,图片下方出现一串字符:
在这里插入图片描述

但是这个字符串有什么用呢,不知道,再找找还有没什么信息

2.文件分离

复制到kali里面,binwalk查看一下是否有隐藏文件
在这里插入图片描述
foremost分离出一张图片和一个rar压缩包
在这里插入图片描述使用前面的字符串StRe1izia解压缩,得到流量文件。

3.流量分析

自己试了一些过滤方式,没有找到关键信息。搜了一下,提示为png关键词,OK好吧,
过滤器:http contains png
在这里插入图片描述发现请求了一张kiss.png,追踪HTTP流,里面有一串加密字符:
在这里插入图片描述

4.解密字符串

对这个字符串ZmxhZ3tPel80bmRfSGlyMF9sb3YzX0ZvcjN2ZXJ9,进行base64解密
在这里插入图片描述得到flag{Oz_4nd_Hir0_lov3_For3ver}


http://www.niftyadmin.cn/n/5301491.html

相关文章

C++ DAY4 作业

1.思维导图 2.定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算…

Uniapp使用wx.getFuzzyLocation()方法,没有超过日调用次数,报错:“此key每日调用已达到上限”

前言: 最近在进行一个小程序项目开发的时候,使用wx.getFuzzyLocation()方法,没有超过日调用次数,但是却出现了报错:“此key每日调用已达到上限”。 解决方案: 打开腾讯位置服务 - 立足生态,连…

融资项目——全局统一日志说明

通过日志可以查看程序的运行信息和异常信息等,便于维护。日志级别分为TRACE、DEBUG、INFO、WARN、ERROR级别,越往后打印的日志信息越少,如ERROR 级别只会在程序运行出错时才会打印日志。可在application.properties中设置日志级别。 logging…

【c++】砍树(二分)

砍树 题目描述 伐木工人 Mirko 需要砍 MM 米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。 Mirko 的伐木机工作流程如下:Mirko 设置一个高度参…

Appium+python自动化(七)- 初识琵琶女Appium(千呼万唤始出来,犹抱琵琶半遮面)- 上(超详解)

简介 “千呼万唤始出来,犹抱琵琶半遮面”,经过前边的各项准备工作,终于才把appium这位琵琶女请出来。那么下边就由宏哥给各位看官、小伙伴们和童鞋们来引荐这位美女(帅哥)。这一篇主要是对前边的内容做一个小小的总结&…

建造者模式(结合mybatis源码)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1、建造者模式的好处?2、例子说明2.1 demon2.2 Mybatis源码 三、 总结 前言 提示:这里可以添加本文要记录的大概内容: 今天…

『开发工具篇』- 配置 gradle 等相关依赖镜像源

『开发工具篇』- 配置 gradle 等相关依赖镜像源 1.更换gradle下载源2. 配置setting.gradlekts文件gradle文件 1.更换gradle下载源 使用腾讯云的镜像库https://mirrors.cloud.tencent.com/gradle/ gradle-x.x-all.zip:编译后的二进制发布版以及源码和文档gradle-x.…