这道题是一道mis题,打开后是一张图片和一个文件,文件需要输入密码,所以图片里可能会有密码
用Stegsolve查看图片,Stegsolve是一个隐写图片解析器,它的功能主要有分析LSB隐写,逐帧查看GIF图片,比较两个图片等,打开图片后会看到这个窗口。
左边一大部分主要是讲了RGBA(Alpha是透明度)的颜色通道
为了方便理解我们分开说
RGB是红绿蓝 但他们的值代表的实际上是亮度
R的数字越大,则代表红色亮度越高;R的数字越小,则代表红色亮度越低。G,B同理
R的亮度各有256个级别,GB同理。即从0到255,合计为256个。从数字0到255的逐渐增高,我们人眼观察到的就是亮度越来越大,红色、绿色或蓝色越来越亮。然而256是2的8次方 所以你会看见上图的7~0 一共8个通道
而Alpha就是透明度 该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域
alpha的值为0就是全透明,alpha 的值为 255 则表示不透明。
右半部分就是Extra By(额外的)和Bit Order(位顺序)和Bit Plane Order(位平面的顺序)
1).Extra By(额外的):分为row(行)和column(纵)
每个像素用R,G,B三个分量表示,那么一张图片就像一个矩阵,矩阵的每个单位就是(0255,0255,0~255)
也就会有是纵排列和行排列了,一般事先访问行再访问列(如果相反会引起ve使用方法)
2).Bit Order(位顺序):MSB是一串数据的最高位,LSB是一串数据的最低位。
3).Bit Plane Order(位平面的顺序)
整个图像分解为8个位平面,从LSB(最低有效位0)到MSB(最高有效位7)随着从位平面0 到位平面7,位平面图像的特征逐渐变得复杂,细节不断增加。(一般我们的图片如果是RGB那么就是24位 3乘8嘛)
1
4)Bit Plane Order(位平面的顺序):一般图片是24位 也就是3个8 大家可以想像成三明治 比如BGR就是B为三明治第一层 G为第二层 R为第三层。
具体用法和介绍可看下面这位大佬写的关于stegsolve图片隐写解析器的使用
原文链接:https://blog.csdn.net/weixin_43639682/article/details/113857310
解析图片后就会在右边看到KEY,{}里的内容是一串base64编码后的字符串,解码后即可得到打开文件的密码
这里是密码里包含空格,空客也属于字符,所以显示密码输入错误,去掉空格后即可。
打开该文件,发现开头显示image/png;base64,用在线base64生成二维码工具,得到一个二维码。
二维码是残缺的,需要补全定位符,在网上搜定位符图片保存,用ps进行拼图,然后在线扫码即可得到flag。
这是一道很经典的mis题,想了解更多mis常见题型,可以参考下面这篇