BUUCTF:Crypto 解析(二)

简介: BUUCTF:Crypto 解析(二)

前言

Buuctf Web 是一个在线安全挑战平台,旨在提高参与者对网络安全的理解和实践能力。本文将详细介绍 Buuctf Web 的特点、挑战和机遇,帮助读者更好地了解这一领域。

一、Buuctf Web 的特点

多样化的挑战场景:Buuctf Web 提供了多种挑战场景,包括 Web 利用、密码破解、CTF 夺旗等,涵盖了网络安全领域的各个方面。


高质量的学习资源:平台提供了丰富的学习资源,包括视频教程、文章、案例分析等,帮助参与者提高技能水平。


实时排名和互动交流:Buuctf Web 支持实时排名和互动交流功能,参与者可以在平台上与其他选手一起讨论问题、分享经验。


二、Buuctf Web 的挑战


技术难度高:网络安全领域涉及的知识面广泛,技术难度较高,需要参与者具备较高的技术水平和学习能力。


时间压力大:在 CTF 夺旗等挑战中,时间是非常宝贵的资源,需要在有限的时间内快速定位问题并找到解决方案。


需要团队协作:在某些挑战中,需要团队协作才能更好地完成任务,如何有效地分工和协作也是一大挑战。


三、Buuctf Web 的机遇


提高技能水平:通过参与 Buuctf Web 的挑战,参与者可以不断提高自己的技能水平,增强在网络安全领域的竞争力。


拓展人脉资源:在平台上与其他选手交流互动,可以结识志同道合的朋友,拓展人脉资源。

获得实践机会:Buuctf Web 的挑战场景都是基于真实场景设计的,参与者在挑战中可以获得宝贵的实践机会。


为未来的工作做好准备:对于那些希望在未来从事网络安全相关工作的参与者来说,参与 Buuctf Web 可以为他们未来的工作做好准备。通过参与 Buuctf Web 的挑战,他们可以了解行业最新的动态和技术趋势,提高自己的职业竞争力。


四、如何参与 Buuctf Web 的挑战?


注册账号:首先需要在 Buuctf Web 平台上注册一个账号。

选择挑战场景:根据自己的兴趣和需求选择相应的挑战场景。

学习相关知识:为了更好地完成挑战,需要提前学习相关知识,如 Web 安全、密码学等。

参与挑战:按照挑战的要求完成相应的任务,与其他选手竞争排名。

交流与分享:在平台上与其他选手交流经验、分享技巧,共同提高技术水平。


总结:Buuctf Web 作为一个在线安全挑战平台,为网络安全爱好者提供了一个学习和交流的平台。通过参与 Buuctf Web 的挑战,不仅可以提高自己的技能水平,还可以拓展人脉资源、了解行业动态并为未来的工作做好准备。希望本文的介绍能帮助读者更好地了解 Buuctf Web 的特点、挑战和机遇,为未来的发展做好准备。


解题技巧

Rabbit

1. 字符集判断:Rabbit加密算法对输入的数据进行位运算和置换,生成密文。因此,加密后的密文通常使用特定的字符集,可能包含一些特殊字符或非ASCII字符。如果字符串中包含非常规的字符或特殊字符,那么它可能是Rabbit加密的结果。


2. 密文长度判断:Rabbit加密算法通常会将明文数据分成较小的块进行加密,生成相应长度的密文。因此,如果字符串的长度是一个固定的倍数,并且长度较大,那么它可能是Rabbit加密的结果。


栅栏密码

1. 规律判断:栅栏密码是一种简单的置换密码,通过将明文按照一定规律排列,形成密文。栅栏密码通常会将明文按照一定数量的行进行排列,然后按照从左到右的顺序读取密文。如果字符串中的字符以规律的间隔分布,且以一定的行数进行排列,那么它可能是栅栏密码加密的结果。


2. 密文长度判断:栅栏密码加密后的密文长度通常是明文长度的倍数。因此,如果字符串的长度是一个固定的倍数,并且长度较大,那么它可能是栅栏密码加密的结果。

一、Rabbit

点击链接下载文件

打开后的值到第三方网站解密即可


二、篱笆墙的影子

点击链接下载文件

打开文件得到以下字符串

felhaagv{ewtehtehfilnakgw}

篱笆墙很明显联想到栅栏密码,所以直接栅栏解密即可

三、RSA

点击链接下载文件

在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flag提交

使用 RSA-Tool 2 by tE! 计算

先设置进制为十进制,然后输入 17 转 十六进制的数(11)

然后输入 P 和 Q,最后点击 Calc D

最后得到的 D 值即为 flag

四、丢失的 MD5

点击链接下载文件

打开后是一个 Python 文件,找第三方网站运行即可

五、Alice与Bob

密码学历史中,有两位知名的杰出人物,Alice和Bob。他们的爱情经过置换和轮加密也难以混淆,即使是没有身份认证也可以知根知底。就像在数学王国中的素数一样,孤傲又热情。下面是一个大整数:98554799767,请分解为两个素数,分解后,小的放前面,大的放后面,合成一个新的数字,进行md5的32位小写哈希,提交答案。 注意:得到的 flag 请包上 flag{} 提交


第三方网站分解

这样就得到了 101999966233

再通过站长之家加密即可

六、大帝的密码武器

点击链接下载文件

文件名是 zip 但是没有后缀,所以加上后可以正常打开文件

文件一:

公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。

可以得出是凯撒密码,这里给出了被解开的单词,现在要反向解除单词获得偏移量

str1 = 'FRPHEVGL'
str2 = str1.lower()  # 转换为小写方便识别
num = 1  # 偏移量
for i in range(26):
    print("{:<2d}".format(num), end=' ')
    for temp in str2:
        if ord(temp) + num > ord('z'):  # 如果超出'z',需要重新映射会a~z这26个字母上
            print(chr(ord(temp) + num - 26), end='')
        else:
            print(chr(ord(temp) + num), end='')
    num += 1
    print('')

跑出单词 security,偏移量为 13

第三方网站解密(注意:C 是大写所以 P 要大写)

flag{PbzrPuvan}

七、rsarsa

点击链接下载文件

打开文件得到参数值

p =  9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
 
q =  11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
 
e =  65537
 
c =  83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034


如果高数不太好的话可以先用工具求出 D

再用 Python 求解得到 flag

e = 65537
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
n = p * q
# 密文
C = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
 
d = 56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977
 
# 求明文
M = pow(C, d, n)  # 快速求幂取模运算
print(M)

八、Windows系统密码

点击链接下载文件

打开文件发现 ctf,一般第二段都是密码

第三方网站解密即可


相关文章
|
安全 网络安全 数据安全/隐私保护
BUUCTF:Misc 解析(八)
BUUCTF:Misc 解析(八)
|
安全 网络安全 数据安全/隐私保护
BUUCTF:Crypto 解析(三)
BUUCTF:Crypto 解析(三)
|
安全 网络安全 数据安全/隐私保护
BUUCTF:Misc 解析(十)
BUUCTF:Misc 解析(十)
|
SQL 安全 网络协议
BUUCTF:Misc 解析(九)
BUUCTF:Misc 解析(九)
|
安全 Linux 网络安全
BUUCTF:Misc 解析(七)
BUUCTF:Misc 解析(七)
|
安全 网络协议 网络安全
BUUCTF:Misc 解析(六)
BUUCTF:Misc 解析(六)
|
安全 算法 搜索推荐
BUUCTF:Misc 解析(五)
BUUCTF:Misc 解析(五)
|
8月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
740 29
|
8月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
229 4
|
8月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章

推荐镜像

更多
  • DNS