攻防世界-MISC-新手区
一、this_is_flag
题目描述:
Most flags are in the form flag{xxx}, for example:flag{th1s_!s_a_d4m0_4la9}
解题过程:
-
得到flag
二、pdf
题目描述:
菜猫给了菜狗一张图,说图下面什么都没有
解题过程:
-
得到一个pdf,描述中说图下面什么都没有,使用在线工具将pdf转出word文档:https://app.xunjiepdf.com/pdf2word
-
用wps打开文件,删除图片,得到flag
三、如来十八掌
题目描述:
菜狗为了打败菜猫,学了一套如来十三掌。
解题过程:
-
打开文档,得到以下内容
-
百度后发现是佛曰加密。在线解密工具:https://www.keyfc.net/bbs/tools/tudoucode.aspx
解密后得到以下内容
佛曰加密
出自本土的加密算法,由一系列貌似佛教的生僻字构成密文,具体加密算法位未知,加密不具备随机性,格式为"佛曰:XXX"。
-
字符串由大小写字母和数字组成,使用base64解密工具解密:https://base64.supfree.net/
解密出来为一串乱码,猜测密文可能被修改过。
-
题目提示如来十三掌,13想到Rot13,使用Rot13解密工具:https://www.jisuan.mobi/puzzm6z1B1HH6yXW.html
解密得到以下内容
-
了解Rot13
-
再次使用base64解密工具解密,得到flag
四、give_you_flag
题目描述:
菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包
解题过程:
-
打开图片,一帧一帧查看的,得到一张二维码
-
发现二维码缺少定位符,使用在线工具随便生成一个二维码:https://www.2weima.com/
截取生成的二维码定位符
-
使用ps将定位符换到图片中缺失的地方
-
扫描得到二维码
五、stegano
题目描述:
菜狗收到了图后很开心,玩起了pdf 提交格式为flag{xxx},解密字符需小写
解题过程:
-
得到pdf文件,用浏览器打开后,将其内容复制到txt文件中,得到以下内容
-
看到一串由 AB组成的字符串,想到培根密码,但是培根密码都是5个字符一组。
想到莫斯密码,把A->. B->-,得到以下内容
-
使用莫斯密码解密工具:http://moersima.00cha.net/
得到flag
六、坚持60s
题目描述:
菜狗发现最近菜猫不爱理他,反而迷上了菜鸡
解题过程:
-
得到一个jar包,使用jadx-gui反编译查看原码,没有kali可以使用以下命令安装
# 安装jadx apt install jadx # 启动jadx jadx-gui
找到以下内容
-
使用base64解密RGFqaURhbGlfSmlud2FuQ2hpamk=:https://base64.supfree.net/
得到flag
七、gif
题目描述:
菜狗截获了一张菜鸡发给菜猫的动态图,却发现另有玄机
解题过程:
-
解压下载的压缩包,在gif目录中发现103张黑白图片,想到莫斯密码:http://moersima.00cha.net/
-
解密失败,换思路还是解密失败
-
想到会不会是二进制,二进制转字符:http://tool.huixiang360.com/str/from-binary.php
-
得到flag
八、掀桌子
题目描述:
菜狗截获了一份报文如下c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2,生气地掀翻了桌子(╯°□°)╯︵ ┻━┻
解题过程:
-
字符串由0-9,a-f组成,想到十六进制,两个字符一组,编写python脚本
code = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2" flag = "" for i in range(0, len(code), 2): # 先将其转换为十进制发现都是大于128的数,减去128得到符合要求的ASCII码(0-127) flag += chr(int(code[i : i + 2], 16) - 128) print(flag)
-
得到flag
九、ext3
题目描述:
今天是菜狗的生日,他收到了一个linux系统光盘
解题过程:
-
分析下载到的文件,发现是ext3文件
-
了解ext3
-
秒杀中说搜到一个linux系统光盘,光盘则需要挂载
# 在Linux系统和其他文件系统中想要被访问是需要将他关联到根目录下的某个目录实现的,这种关联的操作叫做挂载。 # 挂载步骤: # 1.创建新目录:mkdir 目录名 # 2.挂载:mount 硬件名 新增目录名 # 注意:mount命令是一次生效,如果重启就会失效。 # 1. 切换管理员账户 ┌──(kali㉿kali)-[~/下载] └─$ su root 密码: # 2.创建目录 ┌──(kali㉿kali)-[~/下载] └─$ mkdir ./test # 3.挂载 ┌──(root㉿kali)-[/home/kali/下载] └─# mount ./mx09 ./test # 4.进入挂载目录 ┌──(root㉿kali)-[/home/kali/下载] └─# cd test # 5.查找文件名以flag开头的文件 ┌──(root㉿kali)-[/home/kali/下载/test] └─# find -name flag* ./O7avZhikgKgbF/flag.txt # 6.打印flag.txt内容 ┌──(root㉿kali)-[/home/kali/下载/test] └─# cat ./O7avZhikgKgbF/flag.txt ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=
-
使用base64解密工具解密:https://base64.supfree.net/
得到flag
十、SimpleRAR
题目描述:
菜狗最近学会了拼图,这是他刚拼好的,可是却搞错了一块(ps:双图层)
解题过程:
-
解压rar文件报错,提示secret.png的头部不正确,应该被修改过
-
获取得到的flag.txt内容,内容提示flag不在这里
-
了解RAR文件: https://blog.csdn.net/Claming_D/article/details/105899397
-
在kali中使用01Edit,windows使用winhex打开压缩文件,
windows 下载winhex: https://www.x-ways.net/winhex.zip
# linux 安装 010 Editot wget https://www.sweetscape.com/download/010EditorLinux64Installer.tar.gz
-
解压后得到secret.png,空白的图片,使用01Edit打开图片,发现是gif文件
-
修改secret.png 为 secret.gif,使用Stegsolve不断点击右键找出隐藏的图片,发现是个二维码
-
题目提示双图层,用ps打开gif发现图层2被隐藏了
-
把图层1隐藏,图层2显示出来后另存为图层2.gif
-
使用Stegsolve打开,使用stegsolve必须有java环境,stegsolve下载地址:http://www.caesum.com/handbook/Stegsolve.jar
-
合并得到的两个二维码
-
扫描得到flag
十一、base64stego
题目描述:
菜狗经过几天的学习,终于发现了如来十三掌最后一步的精髓
解题过程:
-
解压下载的压缩包发现需要密码,想到zip伪加密:https://blog.csdn.net/weixin_41687289/article/details/82695801
-
使用bless打开压缩包,查看压缩文件
# linux 安装 bless apt install bless # 打开bless bless
-
查找第二个 504B,将 0900 修改为 0000后保存
-
再次解压,打开得到的文件得到以下内容,里面全是base64编码的字符串,猜到是base64隐写
-
使用python脚本解密
# 此方法用来将包含隐藏信息的字母转换为base64编码表对应的序列值(十进制数)并返回 def base64change(s): table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' # base64编码表,恰好索引值对应字母 for i in range(len(table)): if table[i] == s: return i # 此方法用来获取隐藏信息二进制字符串 def base64solve(): f = open('code.txt', 'r') lines = f.readlines() flag_bin = '' for line in lines: # print(line) l = line.strip() # 去掉两边的空格 if l[-1] == '=': if l[-2] == '=': # 含有两个=则包含4bit信息 # 将返回的十进制转换为二进制数,由于返回的二进制数为0b开头,所以从第三位开始取,然后用0填充头部为4位,再取后四位隐藏的信息 flag_bin += bin(base64change(l[-3]))[2:].zfill(4)[-4:] else: # 只含一个=则包含二bit信息 flag_bin += bin(base64change(l[-2]))[2:].zfill(2)[-2:] # print(flag_bin) flag = '' for i in range(len(flag_bin) // 8): flag += chr(int(flag_bin[i * 8:(i + 1) * 8], 2)) print(flag) if __name__ == '__main__': base64solve()
-
得到flag
十二、功夫再高也怕菜刀
题目描述:
菜狗决定用菜刀和菜鸡决一死战
解题过程:
-
得到一个pcapng文件,用xxd搜索flag,查看有flag.txt
-
使用foremost分离文件
# 安装foremost sudo apt-get update sudo apt-get install foremost # 使用 foremost foremost 文件名
分离下载的pcapng文件,得到一个out文件夹,里面有一个txt和zip,解压发现需要密码
# 分离文件 foremost xxx.pcapng
-
打开wireshark,ctrl + f 设置字节流过滤找到和flag相关的文件
查找按钮多点几次会发现一张666的图片
-
追踪Tcp流
-
jpg格式是以:FFD8FF开头,以FFD9结尾的。通过搜索功能找到该jpg的开头和结尾
-
将开头和结尾(最后一个FFD9)之间的数据直接复制到bless中保存为一个jpg文件,打开后如下
得到解压密码
-
解压后在flag.txt中发现flag