打不开的文件分值: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---隐写术入门第三题 打不开的文件的更多相关文章

  1. CTF---密码学入门第三题 奇怪的短信

    奇怪的短信分值:10 来源: Ayn 难度:易 参与人数:5117人 Get Flag:2623人 答题人数:2858人 解题通过率:92% 收到一条奇怪的短信: 335321414374744361 ...

  2. CTF---Web入门第三题 这个看起来有点简单!

    这个看起来有点简单!分值:10 来源: 西普学院 难度:易 参与人数:10515人 Get Flag:3441人 答题人数:4232人 解题通过率:81% 很明显.过年过节不送礼,送礼就送这个 格式: ...

  3. CTF---安全杂项入门第三题 这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?

    这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?分值:30 来源: 2014sctf 难度:难 参与人数:3918人 Get Flag:384人 答题人数 ...

  4. jQuery入门第三

    jQuery入门第三 1.HTML 2.CSS 衣服 3.javascript 可以动的人 4.DOM 编程 对html文档的节点操作 5.jQuery 对 javascript的封装 简练的语法 复 ...

  5. CTF---密码学入门第六题 古典密码

    古典密码分值:10 来源: 北邮天枢战队 难度:易 参与人数:5115人 Get Flag:1549人 答题人数:1783人 解题通过率:87% 密文内容如下{79 67 85 123 67 70 8 ...

  6. JavaMail入门第三篇 发送邮件

    JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Mes ...

  7. CTF---Web入门第十三题 拐弯抹角

    拐弯抹角分值:10 来源: cwk32 难度:易 参与人数:5765人 Get Flag:2089人 答题人数:2143人 解题通过率:97% 如何欺骗服务器,才能拿到Flag? 格式:CTF{} 解 ...

  8. CTF---Web入门第十一题 PHP大法

    PHP大法分值:20 来源: DUTCTF 难度:中 参与人数:8205人 Get Flag:2923人 答题人数:3042人 解题通过率:96% 注意备份文件 解题链接: http://ctf5.s ...

  9. CTF---Web入门第十题 Once More

    Once More分值:10 来源: iFurySt 难度:易 参与人数:4782人 Get Flag:2123人 答题人数:2166人 解题通过率:98% 啊拉?又是php审计.已经想吐了. hin ...

随机推荐

  1. 图片验证码(Struts2中使用)

    写在前面: 最近在项目中做了一个登录页面,用到了图片验证码的功能,所以记录一下.方便之后再有用到,直接拿来用即可.其实图片验证码的生成都是有固定步骤的,网上也有很多的例子,有的时候,如果不想深究,都是 ...

  2. java8 新特性入门 stream/lambda

    Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作(aggregate operation),或者大批量数据操作 (b ...

  3. 转:一篇讲线上优化查 CPU的脚本

    原文链接:https://my.oschina.net/leejun2005/blog/1524687   摘要: 本文主要针对 Java 服务而言 0.背景 经常做后端服务开发的同学,或多或少都遇到 ...

  4. Spark源码剖析(五):Master原理与源码剖析(下)

    一. 状态改变机制源码分析 在剖析Master核心的资源调度算法之前,让我们先来看看Master的状态改变机制. Driver状态改变  可以看出,一旦Driver状态发生改变,基本没有好事情,后果要 ...

  5. w 命令详解

    作用: 用于显示已经登录系统的用户列表, 并显示用户正在执行的指令. 执行这个命令可得知目前登入系统的用户有哪些人, 以及他们正在执行的程序.  单独执行w 命令会显示所有的用户, 您也可指定用户名称 ...

  6. Ansible 系列之 Patterns

    Ansible 之 Patterns 1.Ansible中的Patterns决定了我们要管理哪个主机,意思是与哪些主机进行交互. 我们将在Ad-Hoc(Ad-Hoc 是指 临时执行的命令,要结合着模块 ...

  7. MySQL查询相关(初级)(全文重点)

    where 是约束条件 先找到表 from t1 where 条件 : 指的是把表里的数据,一条一条的记录取出来 然后 group by 分组, having 是过滤条件 指记录已经出来 聚合 cou ...

  8. MySQL字符串相关函数学习二

    ① LOWER(str):将字符串转为小写:与此函数具有相同作用的函数有LCASE() 如果参数是小写.数字或其他特殊字符,则返回原数据 ② LEFT(str, len):返回字符串str左边的len ...

  9. Java---hashCode()和equals()

    1.hashCode()和equals() API hashCode()和equals()都来自上帝类Object, 所有的类都会拥有这两个方法,特定时,复写它们. 它们是用来在同一类中做比较用的,尤 ...

  10. Composer创建和发送HTTP Request

    Fiddler Composer的功能就是用来创建HTTP Request 然后发送. 你可以自定义一个Request, 也可以手写一个Request, 你甚至可以在Web会话列表中拖拽一个已有的Re ...