无聊的MISC题解
闲着无聊又开始玩misc题了,最起码misc题不像web题这么变态,动不动就无敌绕的反序列化什么的,吐了
然后我还发现一个问题,就是我的代码在手机里不能滚动看到,我不知道为啥,但是把手机屏幕横屏就好了(我太弱了)
题目和所用到的工具我会打包放在网盘里,有需要的后台留言 wuliaomisc
就好了
0x01 论剑
图片下载下来后是这样的
按一般套路,看到这种长宽不一致的先改了,拖入HxD中,找到 FFC2
,三位后就是长宽了
0042
改为 030D
后,图片就“拉长”了,但是后面有部分内容给打码了,看不清
在HxD中,我们还发现了一串8位一组的二进制(其实我不是这样发现的,我是在linux中用strings看到的,然后才去翻)
在最后一部分,发现一个文件头和7z很像的标识,不同的是,前面两位不符合,把他修复一下
修复完后,用 dd
分离出来
解压发现,居然还有密码
这时我们想起来,这个压缩文件上面还有一串二进制,把这串二进制转为10进制,然后ascii解码就可以了(我一开始试了摩斯电码,其实并不是),我为了方便转换就随手写了个脚本
file=open("e.txt")
for i in file:
a=i.split(' ')
for e in a:
print("&#"+str(int(e,2))+";",end="")
把这串字符串美滋滋的拿去在线解码,得到密码
解压之后发现还是图片,按照图片1的做法,把长宽拉长就好了
第一张和第二张图片的字符串合在一起就可以了,我为了方便看,拿PS拼一起了
flag{666C61677B6D795F6E616D655F482121487D}
但其实这个还不是真的flag,吐了,你需要把flag{}里面的内容拿去base16解码
0x02 神秘的文件
打开压缩包,发现有两个文件
第一张图logo.png分析了半天都没看出来是啥,而flag.zip又需要密码,压缩了logo.png看CRC32,文件是一样的,所以是压缩包明文攻击
明文攻击指的是有一个加密的ZIP和一个未加密的压缩包中包含的文件,由于同一个ZIP压缩包里的所有文件都是使用同一个加密密钥来加密的,所以可以使用已知文件推测出密钥并解密ZIP文件的攻击方式,相比暴力破解,这种方法在破解密码较为复杂的压缩包时效率更高。 所以拿工具
ARCPPR
跑一下
拿到密码解压,得到一个.docx文件,内容是一个滑稽
查看文件头发现是pk,把后缀改为zip
打开后,在第二个文件夹里发现了flag.txt
打开是base64编码
拖去解码就有flag了
- HLS Lesson17-数组优化:数组映射和重组
- HLS Lesson16-数组优化:数组分割
- HLS Lesson15-for循环优化:其他方法
- 对自己的上网搜索记录进行爬虫是怎样一种体验
- HLS Lesson13-for循环优化:合并
- HLS Lesson12-for循环优化:基本性能指标
- HLS Lesson11-c/c++ testbench书写续2
- 【机器学习】实例详解机器学习如何解决问题
- 企业网站架构之Nginx+tomcat+memcached集群
- 企业级Docker Registry开源工具Harbor的介绍以及使用指南
- HLS Lesson8-基本操作
- Windows渗透测试工具:RedSnarf
- HLS Lesson7-复合数据类型
- matlab GUI基础3
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- phpStorm+XDebug+chrome 配置详解
- PHP面向对象程序设计之多态性的应用示例
- PHP设计模式之单例模式定义与用法分析
- PHP面向对象程序设计之接口的继承定义与用法详解
- PHP简单验证码功能机制实例详解
- php高清晰度无损图片压缩功能的实现代码
- Python自省及反射原理实例详解
- 浅谈django框架集成swagger以及自定义参数问题
- keras CNN卷积核可视化,热度图教程
- 解决tensorflow读取本地MNITS_data失败的原因
- 浅谈keras中Dropout在预测过程中是否仍要起作用
- 浅谈keras中loss与val_loss的关系
- python中tkinter窗口位置坐标大小等实现示例
- python os模块在系统管理中的应用
- Laravel路由研究之domain解决多域名问题的方法示例