文章目录
- 一、前言
- 二、MICS
- 你是黑客么
- 循环的压缩包
- Goodtime
- 三、WEB
- py
- 四、Crypto
- 变异凯撒
- RSA
- crypto3
一、前言
WP不完整,仅供参考!
除WEB,RE,PWN外,其余附件均已打包完毕
也是一个对MISC比较友好的一个比赛~
123网盘下载:
https://www.123pan.com/s/q2J1jv-URJvd?提取码:0905
提取码:0905
二、MICS
你是黑客么
解题思路
附件下载,得到一个zip,打开发现存在密码,010检查一下zip,发现并不是伪加密,那我们直接上ARCHPR进行爆破:
打开zip发现需要密码
使用ARCHPR尝试纯数字爆破
得到密码:75067
打开zip
010简单分析一下,翻到下面一些,很快就发现了hint:data:image/png;base64,是个明眼人都能看明白啥意思吧?
这里我们可以直接使用:https://cyberchef.org/,来进行64解码并导出PNG图片
最后也是导出了一个二维码,我们使用工具:QR_Research,来进行扫码
至此:
flag{asdf%^&*ghjkl}
循环的压缩包
解题思路
附件下载,得到一个zip,发现需要一直修改zip后缀,并且一直解压解压,那这很明显了,就是需要解压到最后才能给你flag,所以我们可以直接让GPT帮我们写一个脚本来进行自动化解压:
脚本如下:
import zipfile
import os
# 无限循环,除非手动中止
while True:
# 以二进制模式读取名为 "tarfile" 的文件
with open("tarfile",'rb') as f:
data = f.read()
# 跳过前512字节,提取剩余数据用于后续处理
zip_data = data[512:]
# 将剩余的数据写入一个新的 ZIP 文件 "new.zip"
with open("new.zip",'wb') as f:
f.write(zip_data)
# 创建临时目录 "tmp" 用于解压文件
os.mkdir("tmp")
# 打开刚创建的 ZIP 文件 "new.zip"
archive_file = "new.zip"
with zipfile.ZipFile(archive_file, 'r') as zip_ref:
# 将 ZIP 文件内容解压到 "tmp" 目录
zip_ref.extractall(path="tmp/")
# 使用系统命令 mv 将解压出的文件从 tmp 移动到当前目录
os.system("mv tmp/* .")
# 删除临时目录 "tmp"(必须是空目录)
os.rmdir("tmp")
简单分析脚本:
- 文件读取:从
tarfile
中读取数据,跳过前512字节,这假设前面的数据无效。 - 生成 ZIP 文件:将剩余部分的数据写入到
new.zip
。 - 创建临时目录:创建
tmp
目录,用于解压 ZIP 文件。 - 解压 ZIP 文件:将
new.zip
中的内容解压到tmp
目录。 - 移动文件:使用系统的
mv
命令将tmp
目录中的所有文件移到当前目录。 - 清理临时目录:最后删除临时目录
tmp
,保持目录整洁。
总结:
这个脚本的核心作用是处理 tarfile
文件,将其部分内容(跳过前512字节)提取出来作为 zip 文件进行解压缩,然后将解压后的内容移动到当前目录,并删除中间产生的临时文件和目录。
至此;
flag{01af9cbb-6bf2-4ad8-8ecb-9dcbbc02bf19}
Goodtime
解题思路
附件下载,得到一个zip,打开发现需要密码,010简单看看,不是伪加密,尝试使用暴力破解
打开zip,发现需要密码
使用ARCHPR进行暴力破解,这里我们不知道具体啥爆破,就全部勾选了,虽然等的时间有点长,但好在也是出来了
得到密码:city
打开zip,发现存在7个TXT
一个一个打开,最后发现qwsz.txt这个TXT可能存在zip的头部
qwsz.txt
补全之后发现并不能直接打开,那这时候猜测可能这几个TXT一起合起来才是一个完整的zip,单单一个qwsz.txt肯定是不行的,那怎么才能确认顺序呢?我们仔细看他们文件命名的名称比如:qwsz,在键盘上包围了一个A,再看看:vghn,合起来是不是包围了一个B,那我们就按照A-G的顺序一一拼凑起来:
那这里都确认了具体顺序,我们直接使用:https://cyberchef.org/,进行简单的拼凑,合起来是一个完整的zip
先补全zip头部:50 4B 03 04
,接着进行From Hex编码,再按照A-G的顺序将TXT文本的内容一一复制粘贴进去,最后点击保存即可:
qwsz——A,vghn——B,xdfv——C,sefc——D,wsdr——E,drgv——F,fthb——G
最后点击保存即可
打开download.zip,发现一张PNG图片:
打开得到一张图片,解压出来右键查看其属性,发现位深度:32,里面指定有点东西,最后也是在kali中使用zsteg查看到了隐藏数据:
很明显这是一串hex,那我们直接丢进:https://cyberchef.org/,进行解码得到flag;
至此;
flag{2468__TUvn__qwer}
非预期解:
- 手动给
qwsz.txt
文件补上 ZIP 文件的魔数50 4B
(代表 “PK”)。 - 在 CyberChef 中导入修改后的文件,进行From Hex编码,并导出为新的
.zip
文件。 - 接着使用 BandZip 解压文件,忽略出现的错误提示,并成功提取到
owl.png
文件。 - 对
owl.png
文件进行 LSB 隐写分析,提取出隐藏的数据信息。
为什么 BandZip 可以解压有错误的 ZIP 文件?
- ZIP 文件结构容错性:ZIP 文件的格式有一定的冗余和容错性。即便部分文件头或数据块损坏,压缩软件(如 BandZip)仍能读取文件目录,尝试解压可恢复的数据。
- BandZip 的健壮性:BandZip 提供了灵活的错误处理机制,允许用户忽略解压过程中的错误,从而尽量恢复文件。
这里不再过多演示,感兴趣的师傅可以尝试一下,欢迎评论区留言结果!
三、WEB
py
解题思路
原题,参考2024年郑州大学“奇安信杯”网络空间安全竞赛 what can i say 队伍 Writeup,中的《py一波吧》,考点:SSTI+JWT
四、Crypto
变异凯撒
解题思路
附件下载,得到一个TXT,打开:
很明显的替换,既然只有三个字符(15!),能想到的只有摩斯,进行简单的替换即可,多尝试几遍就行,最后得出结论,1–>-
,5–>.
,!–>空格
,最后得到:
--. --- --- -.. - .-. -.-- -.-.-- -.... --... -.... ..-. -.... ..-. -.... ....- --... ....- --... ..--- --... ----. ..--- .---- ..... ..-. -.... ..-. -.... ----- --... ....- ....- -... ..... ---.. ..... -... -.... ---.. ..... ..... -.... ..... -.... ..... ..... ----- -.... -.... ..... ----- ..... .---- ....- . -.... ----- ..... ....- ..... ----. ..... --... -.... .....
解码得到:
GOODTRY!676F6F64747279215F6F60744B585B68556565506650514E6054595765
一眼hex,直接进行From Hex即可;
得到主要:
_o`tKX[hUeePfPQN`TYWe
因为前面是goodtry!,这一眼看着就不像凯撒,所以直接将得出的奇特编码丢进工具:随波逐流,中进行覆盖式解码即可;
一下就看见了
至此;
ctf{Saesars_vacation}
RSA
n1=143786356117385195355522728814418684024129402954309769186869633376407480449846714776247533950484109173163811708549269029920405450237443197994941951104068001708682945191370596050916441792714228818475059839352105948003874426539429621408867171203559281132589926504992702401428910240117807627890055235377744541913
n2=119235191922699211973494433973985286182951917872084464216722572875998345005104112625024274855529546680909781406076412741844254205002739352725207590519921992295941563460138887173402493503653397592300336588721082590464192875253265214253650991510709511154297580284525736720396804660126786258245028204861220690641
e1=114194
e2=79874
c1=39479494167559452654985203289943719259163299251143220210309279768527498133064312809391876988552192522859264358652395407629640466082031052656165869397115318550484593316249054547664541873839700453293616924050629495860848690688870172047629969577393843044814764071500077651746511098271700607708161262328875272901
c2=40021890693634802149455301480516680638387865544579062658450227396887653003943965894831376566469207517639996015081669502676021814746137321282912913041491783405771352022999065383538465160772628190865722102773656005841880894373415342052123730741647940772923577126372141812876272857339232055779588277573908481700
暂无
crypto3
暂无,附件已打包完毕