Mysterious-GIF --- 攻防世界WP
题目描述:

附件:

ps:我重命名了一下为 cindy,gif
解题过程
1.分析该GIF
(1)查看图片属性
(2)strings命令查找字符串
(3)winhex查看
(4)因为是GIF,所以可使用 Stegsolve 查看每一帧
(5)binwak 、 foremos分析
(6)zsteg、exiftool等一些命令的查看
以上只是一些我所了解的常规思路,可在后续图片等隐写题参考,也欢迎交流~
回归正题,使用strings分析一下:

能看到一些断断续续的类似16进制的字符,这里可以使用 identify 命令可以将这些16进制的字符全部提取出来

进行16进制转字符串(在线16进制转文本)

得到类似base的文本,但解码失败,查阅后是 rsa密钥文件内容。只是缺少了开头和结尾的标识部分。后面说明。
再使用到binwalk进行分析:

能看到 ZIP 的字样,于是进行分离

得到一个压缩包
2.分析压缩包文件

能得到许多以 .enc结尾的文件,这里查阅之后大概就是使用之前得到的类似密钥的文本来解密这些文件,使用openssl库来解密这些 .enc结尾的文件,先把这些文件提取出来,以一个来解密尝试,但直接解会提示错误信息

关于openssl中RSA解密的简单命令说明可参考(openssl中的RSA使用)

将这两个标识添加到文本中即可。
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

这样就成功得到一个jpg格式的图片了,于是将所有的文件都进行解密即可。
3.解密文件
ps:(1)这里就使用shell脚本来批量处理了,因为我们会解出来很多图片,我们最终需要将文件内容都合并到一张图片去。
(2)我这里因为是再windows的bash子系统中进行操作的,界面看着可能不太舒服,而且解密完的文件名排序出来不是顺序的,在最终合并出来的图片显示无法打开,所以用了个比较麻烦的操作对图片进行了命名:::用数组存储了文件命名,共268个文件,用seq生成的等宽度字符000-268进行命名,这样最后在Linux下看到的文件就是顺序排列的。
脚本如下:#!/bin/bash
#原始加密文件目录位置
src_dir='extracted'
#解密后存放目录位置
dst_dir='flag' #解压后目录下的文件
files=$(ls $src_dir) #nums数组存储了000-268等宽的数字用于命名
i=0
nums=()
for j in $(seq -w 268);do
nums[$i]=$j
((i++))
done n=0
for file in $files;do
openssl rsautl -decrypt -inkey ./test.key -in $src_dir/$file -out $dst_dir/${nums[$n]}
((n++))
done
#合并图片
cat flag/* > target.jpg

最终提交 : FelicityIsFun 即可。
ps:在最后合并那里花了好久时间,我果然太菜了~~呜呜呜,尽量写详细的WP,让大家看懂,欢迎大家评论交流~~
Mysterious-GIF --- 攻防世界WP的更多相关文章
- 【攻防世界】 高手进阶区 Recho WP
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod ...
- 【pwn】攻防世界 pwn新手区wp
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_sh ...
- 【攻防世界】高手进阶 pwn200 WP
题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int ...
- 【WP】攻防世界-杂项-Misc
长期更新一波 攻防世界 的杂项题解 这东西主要靠积累吧 攻防世界:https://adworld.xctf.org.cn 因为攻防世界的题目顺序经常变化,我也不改序号了,顺着之前写的位置往下写,推荐使 ...
- 攻防世界 | CAT
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...
- CTF -攻防世界-crypto新手区(5~11)
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间 明明没算错 ...
- 记录下做攻防世界的misc题
0x00 记录一下,代表自己做过 0x01 flag_universe 看简介是来自2018年的百越杯. 将文件下载下来后,就一个flag_universe.pcapng文件,wireshark打开. ...
- 攻防世界 web进阶区 ics-06
攻防世界 ics-06 涉及知识点: (1)php://filter协议 (2)php中preg_replace()函数的漏洞 解析: 进入题目的界面,一通乱点点出了唯一一个可以进入的界面. 观察ur ...
- 攻防世界 reverse evil
这是2017 ddctf的一道逆向题, 挑战:<恶意软件分析> 赛题背景: 员工小A收到了一封邮件,带一个文档附件,小A随手打开了附件.随后IT部门发现小A的电脑发出了异常网络访问请求,进 ...
- 攻防世界 reverse 进阶 10 Reverse Box
攻防世界中此题信息未给全,题目来源为[TWCTF-2016:Reverse] Reverse Box 网上有很多wp是使用gdb脚本,这里找到一个本地还原关键算法,然后再爆破的 https://www ...
随机推荐
- SpringBoot代理图片、文件等路径
在config文件夹下新增一个配置类即可 /** * @author cyl * @time 2022/10/25 */ @Configuration public class UrlConfig e ...
- PCB走线宽度与电流、温度的关系
测试PCB的线长为24cm 其他:
- ps如何正确擦除文字 如何正确用ps擦除文字
1.启动PS:新建文档,进入到软件操作界面中. 2.再把图片素材拖入到PS中.接下来,要把图片上的文字清除掉. 3.按L键,调出套索工具,接着,把文字给框选出来. 4.再按SHIFT+F5调出填充对话 ...
- 人眼对led灯的闪烁识别度:写单片机的时候,小于15ms,我们人眼视为常亮
人眼对于每11毫秒闪烁一次约83赫兹基本感觉不到,每15毫秒闪烁一次约66赫兹轻微频闪. 所以写单片机的时候,小于15ms,我们人眼视为常亮
- ElementUI Select下拉框定位问题!
今天遇到了下拉不跟随文本框滚动的问题 参考官方手册添加参数: popper-append-to-body="false" 无效[内心很无语]继续检查向上推,查看html样式,发现了 ...
- Word发博客测试
这是一篇来自word的文章测试,测试word写博客发布效果. 操作参考:http://www.cnblogs.com/liezhengli/p/5854470.html 关键在于找到博客园的MetaW ...
- BGP知识点总结(一)
动态路由协议(工作范围) 1.自治系统内部的路由协议-IGP:工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换(ospf,rip,isis) 2.自治系统之间的路由协 ...
- 用tkinter编写一个获取图片资源的GUI工具
目录 效果展示 导入tkinter库 窗口属性 按钮和输入框 文本输入框Text 运行 打包成exe文件 源码地址 本文可以学习到以下内容: 使用tkinter的Entry功能获取本地文件夹 使用tk ...
- oracle job的使用
select job, next_date, next_sec, failures, broken from user_jobs; create or replace sequence END_RES ...
- wireshark抓包海康威视摄像头
1:不清楚海康威视摄像头IP地址:网线直连电脑,打开wireshark抓包 2:抓包在source能看到 Hangzhou类似 说明是摄像头.ARP协议 然后192.168.0.251 是摄像 ...