CTF中图片隐藏文件分离方法
CTF中图片隐藏文件分离方法
0x01 分析
这里我们以图片为载体,给了这样的一样图片:2.jpg

首先我们需要对图片进行分析,这里我们需要用到kali里面的一个工具 binwalk ,想要了解这个工具可以参考这篇 Binwalk:后门(固件)分析利器 文章,以及 kali官方对binwalk的概述和使用介绍 。
这里我们就是最简单的利用,首先在kali终端进入目标图片所在的路径,然后在binwalk后直接提供固件文件路径和文件名即可:
# Binwalk 2.jpg
当我们使用这行命令后,binwalk就会自动分析这个jpg文件:

从上面的内容显然看得出来这个jpg文件还隐藏着另一个jpg文件,从158792块偏移开始就是另一张jpg。
0x02 分离
在得到隐藏信息之后我们下一步就是把另一张jpg分离出,以下讨论几种方法:
(1)使用dd命令分离(linux/unix下)
我们可以使用dd命令分离出隐藏文件:
# dd if=2.jpg of=2-1.jpg skip=158792 bs=1

可以参考 dd命令详解 ,这里if是指定输入文件,of是指定输出文件,skip是指定从输入文件开头跳过158792个块后再开始复制,bs设置每次读写块的大小为1字节 。
最后我们可以得到这样的一张2.jpg图片:

(2)使用foremost工具分离
foremost是一个基于文件文件头和尾部信息以及文件的内建数据结构恢复文件的命令行工具,win可以下载地址,Linux可以通过下面命令安装使用:
# apt-get install foremost
安装foremost后你可以使用foremost -help查看使用帮助,这里最简单分离文件的命令为:
# foremost carter.jpg
当我们使用这行命令后,foremost会自动生成output目录存放分离出文件。
CTF中图片隐藏文件分离方法的更多相关文章
- 隐写-CTF中图片隐藏文件分离方法总结
		
0x00 前言 在安全的大趋势下,信息安全越来越来受到国家和企业的重视,所以CTF比赛场次越来越多,而且比赛形式也不断的创新,题目也更加新颖有趣,对选手的综合信息安全能力有一个较好的考验,当然更好的是 ...
 - CTF中图片隐藏文件分离方法总结
		
0x00 前言 在安全的大趋势下,信息安全越来越来受到国家和企业的重视,所以CTF比赛场次越来越多,而且比赛形式也不断的创新,题目也更加新颖有趣,对选手的综合信息安全能力有一个较好的考验,当然更好的是 ...
 - 使用find命令查找Linux中的隐藏文件的方法
		
我们可以在Linux 或者 Unix 系统上使用 find 命令去查询所有(全部)隐藏文件 基本语法如下: 复制代码 代码如下: [root@dabu.info ~]#find /要查找的文/件/夹/ ...
 - CSS中图片水平垂直居中方法小结
		
写页面时难免会遇到水平垂直居中的问题,总结一下最近使用的方法. 一.使用垂直居中和水平居中 <div id="div1"> <img src="img/ ...
 - ctf中检测和分离隐藏的文件
		
使用binwalk检测是否隐藏了文件 root@sch01ar:~# binwalk '/root/桌面/test.jpg' 还藏了一个zip文件,接下来用foremost来分离文件 root@sch ...
 - Silverlight 中图片路径的设置
		
在Silverlight中图片的设置方法有几种 如上图在一个工程中有个images文件夹,buttons.xaml页面中的Image控件要引用一张图片 第一种方法 xaml: <Image x: ...
 - IOS中图片拉伸技巧与方法总结(转载)
		
以下内容转载自:http://my.oschina.net/u/2340880/blog/403996 IOS中图片拉伸技巧与方法总结 一.了解几个图像拉伸的函数和方法 1.直接拉伸法 简单暴力,却是 ...
 - PHP限制HTML内容中图片必须是本站的方法
		
本文实例讲述了PHP限制HTML内容中图片必须是本站的方法.分享给大家供大家参考.具体实现方法如下: 1. PHP代码如下: <?php $dom = new DOMDocument; $dom ...
 - 解决PNG图片在IE6中背景不透明方法_解决IE6中PNG背
		
解决PNG图片在IE6中背景不透明方法_解决IE6中PNG背 目录 解决代码 解决png图片在html中 解决png作为网页背景-css 1.解决PNG图片在IE6中背景不透明的CSS与JS代码 ...
 
随机推荐
- AMD,CMD.CommonJs和UMD还有es6的模块化对比
			
CommonJS CommonJS是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行, ...
 - Greengenes Database(16S)
			
The Greengenes Database Release 13_5 这是16S的一个非常重要的数据库 The Greengenes Database, a public resource sin ...
 - 表达谱(DGE)测序与转录组测序的差别
			
DGE-seq和普通的transcriptomic profiling相比较有什么不同,有什么特点? DGE就是用酶将mRNA切断,只使用靠近poly A的一小段RNA去测序. #1 由于不是测定mR ...
 - WPF自定义控件的两种方式
			
方法A: 第一步:My自定义控件:Control 第二步:针对 “My自定义控件” 类型,编写<style>或<模板>(UI的外观完全由用户自己定义) 第三步: 使用My自定 ...
 - shell中引号的妙用
			
#!/bin/bashfile=('leon 01.cap' leon-02.cap nicky-01.cap whoareu-01.cap 8dbb-01.cap)dict=(simple.txt ...
 - Nginx+uWsgi生产部署Django
			
部署得过程很简单,部署得核心在于,为什么要这样做,每一个参数代表什么意思,最终的目的是得了解,一些基概念性的东西. uWsgi简介 说Uwsgi之前,先说一下Wsgi. 什么是Wsgi? WSGI: ...
 - 使用Div + CSS布局页面
			
在设计网页时,能够控制好各个模块在页面中的位置是非常关键的.本章将讲解利用Div+CSS对页面元素进行定位的方法. Div是HTML中指定的专门用于布局设计的容器对象 Div是CSS布局的核心对象. ...
 - 微信access_token全局缓存,处理过期
			
//PHP创建access_token.json文件,将access_token 和 生成时间expires 保存在其中, //{"access_token":"xxxx ...
 - 根据id来实现小程序tab切换,
			
本例根据绑定id来实现tab切换,但本例仍有缺陷,用for循环数据,无法实现切换.如有大神能够有更好方法,欢迎留言更正 WXML: <view class="tab"> ...
 - spring aop 的理解
			
spring aop的相关概念(所有的概念都是为了生成代理类这个过程所需要的信息的抽象): 1.Targer:目标对象.被代理的对象. 2.Advice:增强/通知.就是为目标对象扩展的功能.分为前置 ...