对web有了一定了解
开始玩Misc
本篇是攻防世界 Misc新手练习区的全解
嗯
签到打卡
直接给出来了
2、pdf
打开附件如下
根据提示
flag应该被图片挡住了
编辑下
挪开图片就有了
打开是gif格式图片
有一张二维码一闪而过
打开ps
在第50帧发现残缺二维码
补上定位
再扫描
获得flag
下载下来是个jar
上下左右控制方块躲避障碍
。。。。
充满了恶意
直接反编译看源码
找到flag
开心的提交
。。。
错误
定睛一看
还得base64
获得flag
下下来一个压缩包
解压后是104张图片
黑白黑白黑白
这不得是二进制?
简单写个脚本
flag="" string="01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101" for i in range(0,len(string),8): s=string[i:i+8] flag+=chr(int(s,2)) print (flag)
获得flag
就是这串东西解码呗
试了试
。。。
真的掀桌子了
不是任何现成的加密手段
再定睛一看
只有a-f和数字
这怕不是16进制
转换为10进制看看
import rea = 'c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2'a = re.findall('.{2}',a)a = [int(i, 16) for i in a]print(a)
数字在160到250之间
哽住
。。。。。。
然后突然想到
160=128+32
这不得是ascii码
获得flag
是该掀桌子
蛋疼
是个word文件
内容如下
我*&……%¥#
这是啥加密
查了查
一个网站与佛论禅
获得字符串
还是蛋疼
这是啥加密
题目为什么是十三掌?
跟13有关的加密
rot13
。。。。
蛋碎了
又是一番折腾
都陷入怀疑了
然后
发现还得再来一个base64
获得flag
生活不易
唉声叹气
佛了
下下来是个pdf
搜索flag
无内容
挠头
。。。
查了查
得用chrome打开pdf
再ctrlA→ctrlC
黏贴到txt文件中
会出现BABABABA
瞅着就是yydqc密码
转换下
解码得到
congratulations,flag:1nv151bl3m3554g3获得flag
一开始用adobe看pdf
啥都么得
BABABA也么得
下载下来一个rar
但是解压报错
用winhex打开看看
寻找secret.png
查了下
这里的问题是
png是文件块,应该用74
但这里是7A,变成子块了
参考RAR文件格式官方说明书的翻译[中英对照]
修改下
打开rar文件
flag.txt里没东西
secret.png文件全空白
用ps看看
结果提示不是png文件
。。。
那继续winhex打开
发现原来是个gif
改后缀名
然后扔ps
。。。
还是没东西啊
。。。
扔stegsolve
但只有一半二维码
。。。
想到ps打开的时候有两个图层
把另一个导出来看看
发现另一半
又是ps
得到flag
下载下来一个zip文件
解压要密码
挠头
这没有任何信息啊
查了查
伪加密
winrar修复功能修复一下就可以打开了
(还有这样的)
伪加密专题
得到一大串base64
查了查
是base64隐写
脚本
# -*- coding: cp936 -*-import base64b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'with open('stego.txt', 'rb') as f: qxdmg_str = '' for line in f.readlines(): stegb64 = str(line, "utf-8").strip("n") rowb64 = str(base64.b64encode(base64.b64decode(stegb64)),"utf-8").strip("n") offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1])) equalnum = stegb64.count('=') #no equalnum no offset if equalnum: qxdmg_str += qxdmg(offset)[2:].zfill(equalnum * 2) print("".join([chr(int(qxdmg_str[i:i + 8], 2)) for i in range(0, len(qxdmg_str), 8)])) #8 位一组
得到flag
下下来个linux的ext3文件
查看文件
是个磁盘文件
挂载
用string linux | grep flag
发现flag的位置
那cd
然后cat
得到
瞅着是base64
得到flag
下下来一个pcapng文件
这应该是个流量文件
wireshark
搜索flag
追踪该TCP流
注:jpg格式以FFD8FF开头,以FFD9结尾
复制所有内容
粘贴到winhex中,选择ASCII Hex格式
保存为jpg文件
得到图片
高兴的提交
错误
。。。
头疼
用qxdmgwalk跑一下
发现文件包含
还有一个zip文件
查了查
用foremost进行分离
foremost使用教程
得到zip文件
里面有flag.txt
但是需要密码
这应该是之前图片里的Th1s_1s_p4sswd_!!!
成功打开
得到flag
结语简单水了水misc新手区
还是学到好些东西的
ps的灵活使用jd-gui反编译jarbase64以及base64隐写进制与ASCII码转换与佛论禅。。这个真的佛了rot13加密pdf隐写yydqc密码gif隐写RAR文件格式官方说明书的翻译[中英对照]zip伪加密qxdmgwalk文件包含foremost文件分离