CTF---隐写术入门第三题 打不开的文件
打不开的文件分值:10
- 来源: 实验吧
- 难度:中
- 参与人数:2718人
- Get Flag:1222人
- 答题人数:1276人
- 解题通过率:96%
咦!这个文件怎么打不开?
解题链接: http://ctf5.shiyanbar.com/423/stego/xx.gif
原题链接:http://www.shiyanbar.com/ctf/1878
【解题报告】
这是我入门隐写术开始写的第三道题,这道题很有意思,很多小伙伴可能都不清楚隐写术吧,其实隐写术就是把一些想要表达的信息藏起来,让别人看不见,通过某种方式去获取这些信息,这个就是隐写术了~~~
咱们来看看这题,点击解题链接,发现一片黑,果真是打不开,咱们把这个文件下载下来~~~
这是一个gif文件,gif文件大家都知道,是个动态图片,打开试试看,果真打不开,这个时候就很有意思了,咱们想想看是不是可以用工具?
咱们需要一个工具,叫Notepad++,打开发现一堆乱码,有些简单的题目会直接把flag写在文件里面,我们可以搜索一下看看有没有flag~~~
查找一下,发现没有!!!这就说明这题目还不是很简单,怎么办呢?
这个时候需要我们有一点基本的知识,咱们来看一个正常的gif图片

我选择了一幅柯南的图片,咱们同样用Notepad++打开,对比一下这两个图片
你发现了什么呢?
发现这个xx.gif头部少了点东西!!!


似乎缺少了一个GIF8,我们试试补全GIF8保存下这个xx.gif图片,我们发现这个gif图片能正常打开啊!

在这里我们需要进行解释下文件原理!
文件也好,图片查看器也好,它是通过文件头部来识别该文件是什么文件,是gif图片,还是png图片,还是jpg图片,或者是其它之类的图片啥的,GIF89a,这个信息是gif的开头信息,缺了这个信息之后,无论浏览器也好,图片查看器也好,都没法查看这个图片内容,这样的话它的内容就会隐藏起来!!!
咱们需要修复很简单,只需要把GIF8加进去然后保存就OK了!
我们得到动图以后,发现key的关键字,大概就能猜测这里面有猫腻,咱们发现这个动图晃得太快了,看不明白,咱们有两种思路,第一种咱们可以利用截图截下来,第二种思路咱们可以利用工具,把图片的帧给分出来,叫StegSolve,这里面有个功能,叫逐帧查看,如图所示:

图片是由4帧构成的,原本晃动的图片,现在已经完全定下来了!!!咱们就可一帧一帧的看清楚,咱们就可以把key抄下来!
我们得到的key是一个这样的结果:dGhpcyBpcyBhIGdpZg==
这个如果直接提交肯定是不行的,说明这里面有猫腻,对于熟悉编码的人来说,这种形式的编码是Base64的一个编码,那么它的特征是结尾有两个"==",一般我们看到后面跟着两个"==",我们可以确定是一个Base64的编码!
咱们可以用工具解密,我推荐使用火狐解密,火狐的插件HackBar,可以对Base64解密!如图所示:

咱们看看这个是不是最后的答案呢?

那就说明答案正确了!
CTF---隐写术入门第三题 打不开的文件的更多相关文章
- CTF---密码学入门第三题 奇怪的短信
奇怪的短信分值:10 来源: Ayn 难度:易 参与人数:5117人 Get Flag:2623人 答题人数:2858人 解题通过率:92% 收到一条奇怪的短信: 335321414374744361 ...
- CTF---Web入门第三题 这个看起来有点简单!
这个看起来有点简单!分值:10 来源: 西普学院 难度:易 参与人数:10515人 Get Flag:3441人 答题人数:4232人 解题通过率:81% 很明显.过年过节不送礼,送礼就送这个 格式: ...
- CTF---安全杂项入门第三题 这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?
这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?分值:30 来源: 2014sctf 难度:难 参与人数:3918人 Get Flag:384人 答题人数 ...
- jQuery入门第三
jQuery入门第三 1.HTML 2.CSS 衣服 3.javascript 可以动的人 4.DOM 编程 对html文档的节点操作 5.jQuery 对 javascript的封装 简练的语法 复 ...
- CTF---密码学入门第六题 古典密码
古典密码分值:10 来源: 北邮天枢战队 难度:易 参与人数:5115人 Get Flag:1549人 答题人数:1783人 解题通过率:87% 密文内容如下{79 67 85 123 67 70 8 ...
- JavaMail入门第三篇 发送邮件
JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Mes ...
- CTF---Web入门第十三题 拐弯抹角
拐弯抹角分值:10 来源: cwk32 难度:易 参与人数:5765人 Get Flag:2089人 答题人数:2143人 解题通过率:97% 如何欺骗服务器,才能拿到Flag? 格式:CTF{} 解 ...
- CTF---Web入门第十一题 PHP大法
PHP大法分值:20 来源: DUTCTF 难度:中 参与人数:8205人 Get Flag:2923人 答题人数:3042人 解题通过率:96% 注意备份文件 解题链接: http://ctf5.s ...
- CTF---Web入门第十题 Once More
Once More分值:10 来源: iFurySt 难度:易 参与人数:4782人 Get Flag:2123人 答题人数:2166人 解题通过率:98% 啊拉?又是php审计.已经想吐了. hin ...
随机推荐
- Error:Execution failed for task ':app:mergeDebugResources'. > Crunching Cruncher ******.9.png
有时候在Android Studio导入Eclipse项目时,会出现Error:Execution failed for task ':app:mergeDebugResources'. > C ...
- Spring框架(三) JDBCTemplate,声明式事务,自动装载(注解)
JDBCTemplate 按照标准正常项目的结构 结构图: model层 dao层 实现 dao:(DateBase Access Object) 数据访问对象,dao层只用来访问数据库和模型层 s ...
- iOS 获取一个不变的UDID
原文:iOS7: 如何获取不变的UDID 如何使用KeyChain保存和获取UDID 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID ...
- C:函数:功能:实现字符数组中所有字母的倒序存放并输出
前两天小测碰到一道题,建立一个函数,功能:实现字符数组中所有字母的倒序存放并输出,一开始觉得简单跟数字数组差不多,运行一下发现很多格式错误,这些是不必要的错误,现在就来说下,先说一下代码思路:定义一个 ...
- spring boot使用profile来区分正式环境配置文件与测试环境配置文件
转载请在页首注明作者与出处 一:前言 经常在开发的时候,项目中的配置文件,在个人开发的时候有一套配置文件,在测试环境有一套配置文件,在正式环境有一套配置文件,这个时候如果配置文件复杂,需要改的东西就特 ...
- 童话故事 --- 什么是SQL Server Browser
高飞狗这几天特别郁闷,不知该如何通过TCP/IP协议连接SQL Server数据库.好在功夫不负有心人,经过几天的刻苦研究,终于得到了答案. 高飞狗呼叫UDP1434端口,"叮铃铃,叮铃铃- ...
- Sum of AP series——AP系列之和
A series with same common difference is known as arithmetic series. The first term of series is 'a' ...
- 程序员的自我救赎---11.4:FileSystem文件服务
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- js文件加载优化
在js引擎部分,我们可以了解到,当渲染引擎解析到script标签时,会将控制权给JS引擎,如果script加载的是外部资源,则需要等待下载完后才能执行. 所以,在这里,我们可以对其进行很多优化工作. ...
- lesson - 11 正则表达式
正则就是有一定规律的字符串,有几个特殊符号很关键(. * + ? | ),我们平时不仅可以用命令行工具grep/sed/awk去引用正则,而且还可以把正则嵌入在nginx.apache.甚至php.p ...