2022.7.11 misc相关学习记录
_单身杯
misc 签到
比较考验基础的一道题目,算是一个查漏补缺吧。
AZPR暴力破解
根据五位数密码
解压得到一个jpg文件
首先使用010查看图像的具体值
发现文件尾后面有内容
后面很容易发现是base64编码,
base64转图片
import base64
# 读取命令行中输入的参数,即base64字符串
text = input('请输入即将转为jpg文件的base64内容:\n')
img = base64.b64decode(text)
filename = 'aaa.jpg'
file = open(filename, 'wb')
file.write(img)
print(filename, 'over')
file.close()
把前面的0去掉后,得到二维码
发现二维码定位点有问题
注意右下角的定位符,他是有问题的,因该是外圈黑内圈白。
我们使用Stegsolve 将其颜色异或,再用定位符插入才行。
这样才对的。
定位符补全
无脑拼图photoshop不解释,将定位符加进去即可。注意的一个点就是定位符四周要留白。
我的具体操作是使用尺子量出其四周的像素点的大小,然后再将事先准备好的定位符调到中间合适的位置即可。
不过此处他给我们了黑色框,可以很方便插进去。。
立马扫出来结果
6C75652C20666172206578636565647320796F75722062656C6965667D
可能是十六进制,我们尝试hex转decimal后
得到
lue, far exceeds your belief}
这是flag后半段。
接下来尝试分析图片隐写
LSB隐写
这边在得到的缺失二维码图片中发现了
zsteg 这个软件nb,直接出来
ctfshow{Your potential,va
合在一起,去掉空格分隔符后,得到最终flag
ctfshow{Your_potential_value_far_exceeds_your_belief}
附:图片隐写检测zsteg安装
功能
- PNG和BMP中的LSB隐写术
- zlib 压缩数据
- OpenStego
- 迷彩 1.2.1
- LSB with The Eratosthenes set
首先将文件下载到本地:
这个会下载到当前打开的文件夹下
git clone http://www.github.com/zed-0xff/zsteg
要换国内源
1.查看现有源:
gem sources -l
2.删除现有源:
gem sources --remove https://rubygems.org/
3.添加新源:
gem sources -a http://gems.ruby-china.com/
安装gem(Kali2020版需要root权限,命令前添加sudo)(这一步需要等待一下下)
(如果不换源的话,会等待老长时间然后报个错(等待,永远的等待~)
apt-get install gem
安装zsteg:
gem install zsteg
使用
(这个工具太香了,爱死)
1.查看lsb数据
zsteg xxx.bmp
zsteg xxx.png
zsteg -a (文件名) #查看各个通道的lsb
2.检测zlib
#-b的位数是从1开始的
zsteg zlib.bmp -b 1 -o xy -v
3.提取该通道图片
zsteg -e b8,a,lsb,xy 文件.png -> out.png