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