misc做题

文章讲述了作者在解决一系列网络安全问题时的思路和过程,包括使用脚本进行CRC6字节爆破,学习使用itertools模块进行SHA1值的爆破,以及解析和解密冰蝎流量包来获取flag。此外,还涉及到了Morse密码在解题中的应用。
摘要由CSDN通过智能技术生成

前言

看misc题目真是没头绪,难过了。

hahaha

crc6字节爆破,看到题目的时候没啥头绪。虽然是短字节,但是每个txt都是6字节,以为不会是crc爆破,结果。就漏掉了md,杀人了要
6字节crc爆破脚本
在这里插入图片描述
懒得手动抄crc值,写了脚本进行爆破

import zipfile
file_path = r"1910255db2c8a69f9e6.zip"
crc_list = []
for index in range(1,5):
    data = zipfile.ZipFile(file_path,'r').getinfo("{}.txt".format(index)).CRC
    crc_list.append(data)
import os
for index in crc_list:
    command = 'python crc32_6.py reverse {}'.format(index)
    os.system(command)

得到的爆破结果
在这里插入图片描述
在这里插入图片描述
那么我们的解压密码就是tanny_is_very_beautifu1_
解压看到pdf中的内容,给了我们sha1值,那么应该又是要爆破输入了。在这里插入图片描述
贴上大佬的爆破脚本,主要是学习到了iter’tools模块的迭代对象生成。

import itertools
import hashlib

def sha1(str):
    sha = hashlib.sha1(str)
    encrypts = sha.hexdigest()
    return encrypts
a1 = '1!'
a2 = '2@'
a3 = '{'
a4 = '}'
#combinations(iterable,r) 返回的是可迭代对象所有的长度为 r 的子序列,注意这与前一个函数 permutation 不同,permutation 返回的是排列,而 combinations 返回的是组合。
#permutations(iterable,r=None)返回的是可迭代元素中的一个排列组合,并且是按顺序返回的,且不包含重复的结果。
for str1 in itertools.combinations(a1,1):
    for str2 in itertools.combinations(a2,1):
        str3 = str1[0]+str2[0]+'sechn'
        for i in itertools.permutations(str3):
            # print(i)
            tmp = (''.join(i))
            res = 'flag{'+tmp+'}'
            # print sha1(res)
            if sha1(res.encode()) == 'e6079c5ce56e781a50f4bf853cdb5302e0d8f054':
                print(res)
                break

巨人的秘密

一张jpg,但是有20多mb大小,明显是不正常的size。010查看后,在jpg文件结尾有DeEgger字符串,以及一个zip压缩包文件。
在这里插入图片描述
提取出这个zip文件,发现zip中jpg文件的副本和 (外面的jpg文件+DeEgger字符)的大小相同,另外密码也解不出来,就考虑尝试明文攻击了。
在这里插入图片描述
ARCHPR进行明文爆破,需要注意将000014.zip中压缩的mp4文件先删除了,再进行明文攻击。
在这里插入图片描述
明文解压出压缩包以后,用题目给的提示,DeEgger软件提取出mp4中隐藏的png。
在这里插入图片描述
用图片上提示的网站,加上zip注释中的Wings_of_freedom密码,获得flag。
在这里插入图片描述

Behinder

流量包,一看题目就知道是冰蝎。跟着博客解密步骤一点一点照下来。
冰蝎流量解密
流量包常规过滤出post包,找到冰蝎构建key的“握手包”。一般冰蝎都会有两个“握手包”,形式都是?pass=xxx的样子。我们用第二个MD5的高位值作为解密AES的key。
在这里插入图片描述
冰蝎流量AES解密网站
在tcp第六条流中,解密这段返回包的内容就可以看到肥肠熟悉的开头!
在这里插入图片描述
这不是妥妥的一眼flag嘛
在这里插入图片描述
在这里插入图片描述

雪啊

超级简单的题目。没做出来是最sb的一点
在这里插入图片描述
换表morse密码,选出歌词每行的最后的标点,!换成空格。就可以找到flag
在这里插入图片描述
在这里插入图片描述

参考文章

itertools
hahaha

CTF中的Miscellaneous(简称Misc)是指一类涵盖了多个领域的题目,常见的包括密码学、网络协议、二进制分析等。 在CTF比赛中,解决这类题目的方法主要有以下几种: 1. 阅读题目描述:首先要仔细阅读题目描述,通常会提供一些线索或提示,例如题目类型、题目背景或所需的技术知识。这些大致的信息能够帮助你确定解题方法的方向。 2. 分析题目附件或源代码:如果题目提供了附件或源代码,要仔细分析其中的内容。有时可能需要进行逆向工程、二进制分析或查找隐藏信息。需要注意的是,不同题目类型可能需要使用不同的分析工具和技术。 3. 猜测和尝试:在整个解题过程中,可能需要多次猜测和尝试。例如,对于密码学类题目,尝试使用不同类型的密码学算法进行解密;对于网络协议类题目,尝试使用Wireshark等工具进行数据包分析。 4. 查找前人的经验:CTF解题是一个积累经验的过程,很多题目类型都有经典解法,可以通过学习前人的经验来提高解题效率。可以参考CTF比赛的writeup、CTF讨论论坛或CTF相关的学习资源等。 5. 团队合作:在解题过程中,可以与队友或其他选手进行合作,分享解题过程中的思路和发现。这样可以锻炼团队合作的能力,也能够快速找到解题思路或解题方法。 综上所述,CTF中Misc题目的解题方法主要包括阅读题目描述、分析附件或源代码、猜测和尝试、查找前人的经验以及团队合作等。通过不断学习和实践,提高解题的技巧和经验,才能更好地应对各种Misc题目的挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值