CTF修炼手册(二)

    坚持的第二天,已经晚了一天了。坚持坚持。。。

    今天的题目还是图片隐写,话不多说。题来了

        

所需工具:

    1.binwalk(linux下)

    2.foremost(linux下)

    3.MP3Stego(windows下)

步骤:

    1.在linux下用binwalk对此图片进行分析(binwalk test.jpg),得到此图片是由一个jpg文件和一个zip文件组成的。

    2.用linux下用foremost对图片分离(foremost test.jpg),得到一个图片和一个压缩包。

    3.压缩包进行解压,得到一个MP3文件,和一个txt文件。

    4.在windows下利用MP3Stego软件和txt文件中的密码对MP3文件进行解析(MP3Stego -X是获取隐藏的东西 -P后面写 密  码),就会得到我们所需的信息。

    5.根据所得信息的格式可知此信息是经过base64编码,我们通过网络上的在线工具进行解码就可以得到所需flag。

原理:

1.首先这个复合的图片是怎么来的呢:在linux下利用copy -b test.jpg+test.zip test_ .jpg就会将test.jpg和test.zip文件直接以二进制形式连接起来形成test_.jpg文件。

2.那么这个test_.jpg为什么会被正常解析呢:这是因为jpg解析器只会根据二进制文件内jpg文件的开始标志和结束标志来决定那部分是jpg文件,也是说在jpg结束标志之后的二进制数据是会被jpg解析器忽略的。binwalk和foremost这两个软件也是这样来工作的。

下面就是一些常用格式的开始和结束标识符:

jpg开始:FF D8 FF E0 00 10 4A 46 49 46        jpg结束:FF D9

png开始:89 50 4E 47 0D 0A 1A 0A        png结束:49 45 4E 44 AE 42 60 82

GIF开始:47 49 46 38 39

BMP开始:42 4D E3 BF 22 00 00 00

rar开始:52 61 72 21

ZIP开始:50 4B 03 04 14 00 00 00 08 00

PDF开始:25 50 44 46

3.对MP3文件的解析,这个的原理我不是很清楚(很抱歉,希望大家知道的可以不吝赐教)

4.base64编码解码。base64编码是网络上常见的用于传输8bit字节代码的编码方式之一,要求把每三个8bit的字节转换为四个6bit的字节。base64编码只能表示64个字符(因为2的6次方等于64),分别是A-Z,a-z,0-9,+(根据系统可能不同),/(根据系统可能不同)。

base64编码后得到的只可能是字母、数字、+、/;并且可能是一个=或两个=结尾;=不可能在中间。

注:这次用到了三个软件,前两个软件都是工作在Linux环境下的。这里希望大家可以下载一个正常版本的(不要light版 )的kali(一种Linux系统),kali里面集成了很多的有用的软件。大家百度一下就可以,这里就不发链接了。至于MP3Stego大家也可以自行百度下载。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CTF二进制学习路线可以按照以下步骤进行: 1. 入门逆向工具:首先,你可以学习一些逆向工具,比如IDA Pro和Ghidra。这些工具可以帮助你分析和理解二进制文件的结构和功能。\[2\] 2. 学习数据结构和算法:在进行CTF方面的逆向时,算法逆向是一个重要的考察点。因此,建议你学习一些数据结构和算法的知识,以便更好地理解和分析二进制文件中的算法。\[2\] 3. 学习逆向实战:如果你想进行真正的逆向工作,可以考虑观看一些逆向工程的视频教程,比如滴水逆向三期初级班。这个课程涵盖了广泛的知识面,学完后你将具备入门级的逆向技能。\[2\] 4. 了解二进制安全的发展历程:在学习二进制安全之前,了解其发展历程和相关概念是很重要的。二进制安全技术在20世纪90年代就已经有了一小群先驱者在研究,并且现在已经形成了一个完整的体系。了解这些背景知识可以帮助你更好地理解和应用二进制安全技术。\[3\] 总结起来,CTF二进制学习路线包括入门逆向工具、学习数据结构和算法、学习逆向实战以及了解二进制安全的发展历程。通过这些步骤,你可以逐步提升你的二进制安全技能,并在CTF比赛中取得更好的成绩。 #### 引用[.reference_title] - *1* [【PWN之路】二进制基础](https://blog.csdn.net/weixin_38835814/article/details/126567215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [二进制学习路线(暂定)](https://blog.csdn.net/qq_41071646/article/details/102884530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ctf从零开始学 0x1:Windows下的二进制安全学习路线](https://blog.csdn.net/qq_43504939/article/details/90246409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值