概述
目录
- 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】攻防世界 MISC 新手练习区 003-012详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复