概述
这两天抽空把whaleCTF的MISC部分的题目整理了下完整的Writeup,时间比较急写得简陋了些,如有错误欢迎各位师傅指正,持续更新~~
Find
直接上stegsolve神器,会发现一张反色的二维码,保存下来再反色即可,得到flag
被我吃了
winhex下可以看到图片包含了一个zip,分离至新文件保存为zip即可得到flag
合体鲸鱼
和上一题同一个套路,jpg包含两张图片,分离即可
亚种
各种姿势检测下也没检测出什么,直接上strings大法,strings whale.jpg | grep flag
下雨天
分析下文件类型是一张gif,改后缀丢到gif分离器(stegsolve神器也可以),在第五帧得到flag(妹砸好评~)
这是什么
在winhex下搜索FFD9,发现没有结尾,拉到结尾发现有字符串,unicode——>ascii, getflag!
IHDR
firefox加载不出来,用py把图片下载下来(win10自带的edge可以加载出来)
根据题目提示,跟图片提示IHDR块有关。py下载脚本如下:
import requests
response = requests.get('http://whalectf.xin/files/850e2779d4afe36c2094333c56c0cf84/HARD.png')
cat_img = response.content
with open('HARD.png','wb') as f:
f.write(cat_img)
对一张正常的图片,通过修改其宽度或者高度隐藏信息,使计算出的CRC校验码与原图的CRC校验码不一致;windows的图片查看器会忽略错误的CRC校验码,因此会显示图片,但此时的图片已经是修改过的,所以会有显示不全或扭曲等情况,而Linux下的图片查看器不会忽略错误的CRC校验码,因此用Linux打开修改过宽或高的png图片时,会出现打不开的情况,也基本可以确定图片宽和高被动了手脚,话不多说,上脚本爆破。
参考链接如下:PNG(文件头IHEDR)图片隐写
# -*- coding: utf-8 -*-
# __Author__:Pad0y
import binascii
import struct
crc32key = 0xCAF304E6 # CRC校验
for i in range(0, 65535):
height = struct.pack('>i', i)
data = 'x49x48x44x52x00x00x0CxF0' + height + 'x08x06x00x00x00'
crc32result = binascii.crc32(data) & 0xffffffff
if crc32result == crc32key:
print ''.join(map(lambda c: "%02X" % ord(c), height))
得到高度,修改即可,getflag!
愤怒的小猪
丢到神器有个二维码,get!
底片
丢到winhex,发现是bmp,比较少遇到bmp图片的隐写,骚分析一波,什么也得不到(- -)目测是LSB隐写了,这里用wbs43open解密
这里密码为空
得到的文件用notepad++打开就能看到flag,这里有点邪门,怎么提交都显示错误(气哭.jpg)可能因为前面下划线还有东西,换个姿势继续日
由于图片是bmp类型,像素在图片中是倒叙存储,即以b,g,r的方式存储,而且当高度为正时图片中最后一行像素是存储在第一行的位置(对于正常二位坐标系,当以左下角为原点高度才会为正),用PIL的getdata读出的像素只是像素点在图片的相对位置,并非在文本文件的相对位置,所以以文本文件的方式读取图片
bmpfi=open("nvshen.bmp","rb")
bmpstr=bmpfi.read()
bmpfi.close()
bfOffBits=int(bmpstr[13:9:-1].encode("hex"),16)
str1="&#
最后
以上就是单薄帅哥为你收集整理的whaleCTF MISC_Writeup(姿势大全)Find被我吃了合体鲸鱼亚种下雨天这是什么IHDR愤怒的小猪底片真是动图模糊的图片错误压缩最低位的亲吻舞会搭档斗鸡眼AK的全部内容,希望文章能够帮你解决whaleCTF MISC_Writeup(姿势大全)Find被我吃了合体鲸鱼亚种下雨天这是什么IHDR愤怒的小猪底片真是动图模糊的图片错误压缩最低位的亲吻舞会搭档斗鸡眼AK所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复