目录
- 003 如来十三掌
- 004 give_you_flag
- 005 stegano
- 006 坚持60s
- 007 gif
- 008 掀桌子
- 009 ext3
- 010 SimpleRAR
- 011 base64stego
- 012 功夫再高也怕菜刀
003 如来十三掌
题目描述:菜狗为了打败菜猫,学了一套如来十三掌。
给了一个附件,打开如下,乱七八糟,我一开始以为是乱码。。
实际上类似的中文乱码都是一种加密方式

查了大佬的wp,这里是 与佛论禅 加密
然后伤与佛论禅网站 https://www.keyfc.net/bbs/tools/tudoucode.aspx 解密成 字符串

显而易见,3处的结果,还经过一层加密
是什么加密呢?
题目:如来十三掌?
折腾半天,我第一次看到这种加密,叫ROT13,和base64还挺像
上在线网站https://wtool.com.cn/rot13.html
解密

ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ9
解出来还是像加密,这个就是base64啦
然后base64解密 https://base64.us/

有flag了
flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}
004 give_you_flag
题目描述:菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包
折腾半天,最后用剪辑软件打开,看到一闪而过的二维码

扫不出来,知道二维码三个角有缺失,我要是会ps就好了
然后用画图随便找个小方块用画图拼上去了。。

扫描出flag:flag{e7d478cf6b915f50ab1277f78502a2c5}

005 stegano
题目描述:菜狗收到了图后很开心,玩起了pdf 提交格式为flag{xxx},解密字符需小写
给了个pdf,打开,全选,复制

复制到记事本

看这ABBAA的是莫斯密码
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
用python换一下形式
key1="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"
key1=key1.replace('A','.')
key1=key1.replace('B','-')
key1=key1.replace(' ','/')
print(key1)
得到莫斯密码
-.-./---/-./--./.-./.-/-/..-/.-../.-/-/../---/-./.../--..--/..-./.-../.-/--./---.../.----/-./...-/.----/...../.----/-.../.-../...--/--/...--/...../...../....-/--./...--
去网站 https://www.bejson.com/enc/morse/ 解密

提交时注意转换成小写
006 坚持60s
题目描述:菜狗发现最近菜猫不爱理他,反而迷上了菜鸡
给了个jar文件,打开发现是躲绿帽子游戏,充满了恶意,不玩啦,能搞到源代码就好了
用jadx打开

在Frame里有flag
flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}
还加密了,base64解一下

flag{DajiDali_JinwanChiji}
007 gif
题目描述:菜狗截获了一张菜鸡发给菜猫的动态图,却发现另有玄机 给了个压缩文件

解压打开,白黑黑白白,这得是二进制,白为0,黑为1

写个脚本

得到flag
flag{FuN_giF}
008 掀桌子
题目描述:菜狗截获了一份报文如下c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2,生气地掀翻了桌子(╯°□°)╯︵
┻━┻
很明显,就是解码这个c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2
看来看去,这数字就是从1-9和a-f,很像16进制数,转换成10进制
import re
a = 'c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2'
a = re.findall('.{2}',a)
a = [int(i, 16) for i in a]
print(a)
a = [chr(i - 128) for i in a]
s = "".join(a)
print(s)
查看结果

数字都在160-250之间,这就是ASCII码啊,加一段代码
a = [chr(i - 128) for i in a]
s = "".join(a)
print(s)
解出flag Hi, FreshDog! The flag is: hjzcydjzbjdcjkzkcugisdchjyjsbdfr

009 ext3
题目描述:今天是菜狗的生日,他收到了一个linux系统光盘
收到的是linux系统光盘,按道理来说应该也是能够解压,看到里面文件的,修改后缀为.iso .zip .rar我都试了,没像百度说的那样解压成功,所以换一个方式
用linux打开,查看文件类型,为了方便,文件名改为了ext01
可以看到文件类型为ext3,是挂载文件
切换root用户,在桌面建一个extt文件夹,挂载
mount -t ext3 /home/ctf2021/Desktop/ext01 /home/ctf2021/Desktop/extt
查找该文件下是否有flag文件
find ./ -name flag.txt
查看里面内容

ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=
是base64加密,去在线网站 https://base64.us/ 解密

flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}
010 SimpleRAR
题目描述:菜狗最近学会了拼图,这是他刚拼好的,可是却搞错了一块(ps:双图层)
给了个压缩文件,解压看看里面


flag不在这
有一个注意点,解压的时候提示我文件损坏,草,太坑了,7zip不报,用rar解压才提示
初步推断,文件字段被修改过了。扔到010editor里看一看
一开始没看懂,搜了半天也没有,看了大佬的wp
里面secret.png是文件块,就是里面应该有个图面应该解压完显示的
文件块应该用74,但这里是7A,变成子块了(和压缩包一体了)

选中的这一块相当于是图片,将7A改成74
解压

打开是空白,人麻了
把图片扔到010里看看

是个gif,改后缀看看,还是白的没用
扔到stegsolve里去,一直点箭头,看到一半二维码,裂开。。只有一半

再看题目:菜狗最近学会了拼图,这是他刚拼好的,可是却搞错了一块(ps:双图层)
再用ps打开?ps有两个图层?
ps技能get中。。。

打开之后发现有两个图层
选中图层1,前面眼睛符号也要选中,ctrl+s保存到本地
同理图层2也保存
都拖到stegsolve里打开
发现图层一是缺失的另一半

ps不会用,不如画图,结合截图,复制粘贴移动,拼好了二维码

扫描得到flag

flag{yanji4n_bu_we1shi}
这里补充一下文件结构:那里为什么改成74
参考:https://wenku.baidu.com/view/918e2c146c175f0e7cd1370d.html
参考:https://blog.csdn.net/destiny1507/article/details/89928234
根据她的思维导图,这里是文件头的位置,当然是是0x74啦,
其实挺难的,感兴趣可以多了解点
011 base64stego
题目描述:菜狗经过几天的学习,终于发现了如来十三掌最后一步的精髓
给了一个压缩包,解压要密码

可能是伪加密
用010editer打开,运行zip.bt模板(方便表示文件结构)
主要看两个地方,都为00 00才不是加密,只有一个为奇数为伪加密,如09 00
方法主要就是从头文件标识往后找 ,找14 00 之后的00 00或者09 00,然后把后面有09 00之类的改成 00 00


修改后顺利解压

打开里面的txt
结合题目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 位一组
参考base64隐写博客:https://www.tr0y.wang/2017/06/14/Base64steg/
得到flag

Base_sixty_four_point_five
注意格式
flag{Base_sixty_four_point_five}
012 功夫再高也怕菜刀
题目描述:菜狗决定用菜刀和菜鸡决一死战
最后一题了,所以叫决一死战?哈哈
给了个包,用大鲨鱼打开

本来准备,一顿ctrl+f一顿搜
看了看大佬的wp
先用foremost对pcapng文件进行分离
把文件复制到kali里去,方便起见,重命名为cai
分离完了,桌面会有个output,把它搞到windows上面去看看
里面有个zip压缩包,压缩包里是flag.txt,但是要密码,
可以用010打开看看是不是伪加密
emm不是伪加密,只有一处
~~
很明显解压密码需要我们在.pcapng文件中找
搜索flag.txt 一个一个追踪流看,看到1150时
右击,追踪流

流中含有jpg文件的文件头:FFD8FF,jpg文件以FFD9结束
经搜索发现该流中有多个FFD9,我们需以最后一个FFD9为准,将从FFD8FF到最后一个FFD9的内容复制到.txt文件中

再将文件内容复制到010editer中(编辑->粘贴自->十六进制文本)


最后以.jpg格式保存该文件,得到解压密码

Th1s_1s_p4sswd_!!!
解压得到flag

flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}
最后
以上就是安静大山最近收集整理的关于【CTF】攻防世界 MISC 新手练习区 003-012详解的全部内容,更多相关【CTF】攻防世界内容请搜索靠谱客的其他文章。


发表评论 取消回复