打不开的文件分值: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. 查看当前支持的shell,echo -e相关转义符,一个简单shell脚本,dos2unix命令把windows格式转为Linux格式

    /etc/shells [root@localhost ~]# more /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bi ...

  2. 如何用VSCode愉快的写Python

    在学习Python的过程中,一直没有找到比较趁手的第三方编辑器,用的最多的还是Python自带的编辑器.由于本人用惯了宇宙第一IDE(Visual Studio),所以当Visual Studio C ...

  3. lua元方法

    lua中有元表的概念,元表类似于基类的功能, 在元表中有两个方法可以很好的认识元表: __index和__newindex __index用于查询 对表中的字段进行访问时,如果该表有元表,并且 表中没 ...

  4. 通过自动回复机器人学Mybatis 笔记:接口式编程

    [接口式编程]尚未遇见Spring --> 代码量反而增加 1.增加约定,减少犯错的可能(不用直接去写字符串 修改点1:命名空间 修改点2:增加接口,方法名与配置文件中的id对应 package ...

  5. 转载|chrome developer tool—— 断点调试篇

    断点,调试器的功能之一,可以让程序中断在需要的地方,从而方便其分析.也可以在一次调试中设置断点,下一次只需让程序自动运行到设置断点位置,便可在上次设置断点的位置中断下来,极大的方便了操作,同时节省了时 ...

  6. 怎么选择公司???MVC加jquery-easyui 后端工程师

    代码管理 Git 架构 MVC 这样的项目扩展性强,维护性强!!! 别很老的asp.net    不用框架!!!

  7. UWP 应用通知Notifications

    之前说UWP 使用OneDrive云存储2.x api(二)[全网首发],微识别实现了上传下载的功能,那么为了给用户更上一层楼的体验,那就是在上传下载完成之后,弹出一通知Notifications. ...

  8. Android模拟器

    一.Genymotion 1.下载安装:https://www.genymotion.com/download/  (注:安装前需要先注册) 因为Genymotion运行需要VirtualBox,如果 ...

  9. 冒烟测试与BVT测试

    冒烟测试,它和回归测试的性质一样--只是一个测试活动,并不是一个测试阶段.冒烟测试贯穿于测试的任何一个阶段,单元测试.集成测试.系统测试里都有冒烟测试. 冒烟测试和其他所有的测试活动的目的不一样,它不 ...

  10. 如何去除本地文件与svn服务器的关联

    1.每个目录逐个去删除.svn文件夹 .svn属于隐藏文件夹,可通过操纵Windows文件资源管理器使隐藏文件可视,删除该文件,即可. 2.首先建立一个新文件,文件命名为remove-svn-fold ...