前几天忙高数和c++考试去了。。。Web毫无进展,学学这个放松一下
一、工具准备
这里目前使用的工具为kali上的工具和安装在电脑上的Winhex,010editor,Stegsolve
二、png图片隐写
这里我就直接用题目学习了,也是参考了csdn上大佬的博客http://t.csdnimg.cn/dNGWk
判断不同图片的类型(提前需要知道的知识)
这里的话需要用到Winhex工具,直接将对应的图片拖进去就可以了,随便拖一张照片
看最前面的几个数字 ,由此判断图片类型
png:89 50 4E 47 0D 0A 1A 0A
1、判断文件格式
有些题目通常修改了文件的后缀名,用来迷惑我,但是可以通过查看文件头标识来确定文件类型
这是一个应用程序,但是无法运行,使用winhex查看一下
开头是标准的png图片文件头,修改后缀为png,得到二维码图片,扫描一下就得到flag了
2、倒转文件byte
用winhex查看
文件的最后发现了png的文件头,猜测需要将文件的编码进行倒转,写一个脚本进行倒转(人生中第一次尝试)
a = open('flag.jpg','rb') #读取flag.jpg图片的byte数据
b = open('png.png','wb') #新建一个名为png.png的图片,写入byte数据
b = b.write(a.read()[::-1]) #将flag.jpg图片的byte数据,倒着写入png.png图片里
得,电脑的python跑不了这个,实操只能不进行了。。。
但是如果成功是可以发现flag的
3、添加文件头数据
还是先看看winhex
发现缺失了文件头,加上就可以了
png:89 50 4E 47 0D 0A 1A 0A
ctrl+n新建一个文件
随意设置一个大小,然后ctrl+a全选数据,然后ctrl+c复制后粘贴到新文件里
点击第一个值,写入89 50 4E 47
然后ctrl+s保存为png格式的文件,这样就可以了
就目前而言只学习了这么多,后面的有时间再学吧,学这个我是纯闲的,感觉用处不大