MISC入门(1)
nmd,全是脑筋急转弯
编码
- BASE64:结尾可能有等号,符号只有
+/=
- URL编码:
%
加上ASCII对应的16进制字符 - Unicode编码:
&#x{Hex} &#{Demical} \U{Hex} \U+{Hex}
- Jsfuck:
[]()!+
- Brainfuck:
><+-.,[]
- Ook!:
Ook
和!?.
的结合 - Malbolge:各种字符都有的时候
- coW:
moO MoO mOo mOO Moo
- Whitespace:用不同长度空格进行编程
https://blog.csdn.net/dyw_666666/article/details/89973048
图片隐写
信息隐藏在图片属性
数据类型隐藏
- 似乎不支持文件格式 后缀不匹配
- 利用winhex 或者010editor
- 如果缺少文件头
文件嵌套文件
- 文件头嵌套或者copy命令
- 利用winhex分析
- 利用binwalk命令或者foremost可以提取
文件内部冗余信息
- 在文件最后加入了一部分编码
- Winhex
- Strings命令
基于图片本身的 数据隐藏
- 宽高隐写
- 出现在png格式,文件头有宽和高的编码
- 会有比较明显提示
- LSB隐写
- RGB三原色组成,每一种占8位,但是很多部分人眼观察不到
- 改变人眼观察不到的颜色数据来隐写
- 只会出现在png、bmp
- stegsolve
- png的数据块分析
- 宽高隐写
gif分析
利用stegsolve逐帧分析
将图片合并得到flag、得到二维码
习题
面向题解编程,yes
Welcome
看到两个等于号,大概就是BASE64了。
解码一下输出即可。
这是一张单纯的图片
看上去没什么思路,先strings一波
先winhex一波,发现最后有点东西
仔细一看是\u什么什么玩意,那应该是Unicode,解码即可
隐写
发现是一个压缩包,里边是一张图
压缩包好像没什么东西,来分析一下这个图
然后..我们注意到一件很奇妙的事情,这个图在linux下是打不开的
再加上是png格式,所以文件头肯定有问题!
利用winhex打开分析一波
嗯,于是把代表长的A4修改成F4,图片下边就出现了密码。
(更长一点应该也行..
眼见非实
拿到一个叫zip的文件。不知道是啥,先拿binwalk分析,发现只有一个zip
那就是zip吧..解压一下拿到一个docx
打开发现啥都没有,很难受,继续binwalk一波,发现结果是个zip
好,那当成zip解压,进去以后是一堆文件
那就。。找找,发现在word下的document.xml文件里有flag
嗯..应该能写个代码找吧..不知道有没啥更好的办法
pdf_1
我就是wps的受害者。。
用pdf转成word也行
使用pdftotext命令是最简单的方法
数独
我一开始还以为答案是隐写的..没想到真的要做(
那就 解数独工具(
世外桃源
看上去好大,但是并binwalk不出来东西
winhex或者strings好像也分解不出来啥
试试万能的stegsolve..
Red Plane3的时候出现了答案..
阿哒
下载下来一个压缩包,解压是一个表情包
binwalk一波,里边套了娃,仔细看还有flag.txt的痕迹
那当然先提取,谔谔,怎么这个flag是空的
谔谔,怎么这还有带锁的压缩包,里边才是真flag
试试能不能strings暴力破出来,发现并不能
emm,遇到困难问度娘,发现压缩包密码在..在属性里
发现照相机型号有一串明显不是照相机的东西,BASE16一波得到密码,然后解压就行
里边的txt就是密码了(
多种方法解决
发现是一个exe,而且不可执行,阿这
binwalk也分析不了,用winhex分析一波,发现第一行是data:image/jpg;base64
,那应该是base64格式的图片
所以放到转换器里,发现是个二维码,扫描得到一串字符串
觉得这个字符串比较没规律,是不是得再解解码,发现好像解不出来
然后就交上去试试,过了。。
闪的好快
给一个gif,把每帧都扫一遍连起来就行
有点练手
隐写2
先binwalk一波,发现有点东西,分离出来
发现有一个加密压缩包,第一行写着是密码是三个数,那就暴力破
历史很重要,但是我们会暴力(
破密码解压又是一张图片,用winhex打开
发现最后是flag
这个时候交上去是布星的..关注到最后有一个=号
所以还得解一波码
嗯..
又一张图片,还单纯吗
首先不单纯
binwalk一下发现有东西,但是提取不到
这里可以用神奇的foremost命令
分到了两张图片,第二张就是答案。
嗯,我WA了两次,原因是..QQ识别识别错了..
小 心 人 工 智 障
XOR_1
小云姐已经讲过了..
是我太甜了..这个key是自己写的文件
关注到flag_e是flag xor key得到的,所以两个互相异或一下就是key
这个的代码是这样
1 | m1 = open('fflag_e.png','rb').read() |
然后我们再把key和flag xor一下就可以还原出来flag原本的样子了,直接改源代码:
1 | from itertools import * |
DIO_1
先binwalk,发现有东西,但是提取不出来
foremost一波,出来两个图
一个是二维码,扫一下
另一个好像不太直观。。strings和winhex都分析不出来
果断查小云姐题解(
发现用StegSolve的LSB分析,开RGB是0能分析出来
嗯..好像是做的LSB第一道题..穴到虚脱
分别得到两个字符串,合并起来解一下🐎就行