首页 > 其他分享 >BUUCTF Crypto 1~20刷题记录

BUUCTF Crypto 1~20刷题记录

时间:2024-05-30 21:04:48浏览次数:28  
标签:www BUUCTF 20 https Crypto 密码 flag 哈希 链接

文章目录

一、Crypto

1、MD5

在这里插入图片描述

链接:https://www.cmd5.com/default.aspx

flag{admin1}
2、Url编码

在这里插入图片描述

链接:https://www.toolhelper.cn/EncodeDecode/Url

flag{and 1=1}
3、摩丝

在这里插入图片描述

链接:https://www.lddgo.net/encrypt/morse

flag{ILOVEYOU}
4、password

在这里插入图片描述

小结:flag{姓名首拼小写+出生年月日}

flag{zs19900315}
5、Quoted-printable

在这里插入图片描述

链接:https://try8.cn/tool/code/qp

flag{那你也很棒哦}
6、篱笆墙的影子

方法一;

找规律;
f l a g
e h a v

对照写出全部flag{wethinkwehavetheflag};

方法二;

使用随波逐流工具进行解码,找到最接近的一个秒了;

在这里插入图片描述

flag{wethinkwehavetheflag}
7、Rabbit

在这里插入图片描述

链接:https://www.sojson.com/encrypt_rabbit.html

无秘钥直接秒;

flag{Cute_Rabbit}
8、RSA

在这里插入图片描述

没什么好说的RSA-Tools梭哈,按照图片填入即可;

如果想更多了解RSA请看此文章;

https://blog.csdn.net/m0_51607907/article/details/123884953

工具下载链接;https://www.123pan.com/s/q2J1jv-2Havd.html提取码:0905

9、丢失的MD5

补全脚本如下;

import hashlib

# 循环遍历 ASCII 表中可打印字符的可能值
for i in range(32, 127):
    for j in range(32, 127):
        for k in range(32, 127):
            # 创建 md5 哈希对象
            m = hashlib.md5()
            # 构建特定格式的字符串,插入循环变量 i, j, k 对应的字符
            m.update(('TASC' + chr(i) + 'O3RJMV' + chr(j) + 'WDJKX' + chr(k) + 'ZM').encode('utf-8'))
            # 获取哈希值的十六进制表示
            des = m.hexdigest()
            # 检查哈希值是否包含特定的子串
            if 'e9032' in des and 'da' in des and '911513' in des:
                # 如果包含,则打印出来
                print(des)

简单分析一下这个脚本;

这个脚本是一个用于破解特定MD5哈希值的Python程序。它通过穷举ASCII码表中可打印字符的所有可能的三个字符组合,并将这些字符插入到一个预定义的字符串模板中。对于每个生成的字符串,脚本计算其MD5哈希值,并检查该哈希值是否包含特定的子串。如果找到一个哈希值包含所有给定的子串,脚本会将这个哈希值打印出来。

脚本的工作流程如下:

  1. 使用三层嵌套循环遍历ASCII码表中的可打印字符(从空格(32)到波浪号(126))。

  2. 在每次循环中,构建一个包含循环字符的字符串,按照 'TASC' + chr(i) + 'O3RJMV' + chr(j) + 'WDJKX' + chr(k) + 'ZM' 的格式。

  3. 计算构建字符串的MD5哈希值。

  4. 检查该哈希值是否包含特定的子串:‘e9032’、‘da’ 和 ‘911513’。

  5. 如果哈希值包含所有这些子串,则打印该哈希值。

    flag{e9032994dabac08080091151380478a2}

10、Alice与Bob

根据题已知合数:98554799767

找一个在线网站进行质因数分解;

网站:https://www.imathtool.com/jisuanqi/zhiyinshu/

在这里插入图片描述

101999 x 966233

接着将小的放前面,大的放后面,合成一个新的数字,进行md5的32位小写哈希;

链接:https://www.lddgo.net/encrypt/hash

在这里插入图片描述

flag{d450209323a847c8d01c6be47c81811a}
11、大帝的密码武器

链接:https://www.lddgo.net/encrypt/caesar-cipher

在这里插入图片描述

打开txt根据提示得到一个有意义的单词,在根目题目名称可以得知这是一个凯撒加密;

在偏移13次之后终于得到一个有意义的单词:security(安全)

根据这个单词我们可以得知密文也是13;

在这里插入图片描述

flag{PbzrPuvan}
12、rsarsa
import gmpy2
e = 65537
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
n = p*q
#密文
C = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
 
d =gmpy2.invert(e,(p-1)*(q-1))
#求明文
M = pow(C,d,n)    #快速求幂取模运算
print(M)

运行即可flag,更多RSA知识点请转此处;

https://blog.csdn.net/m0_51607907/article/details/123884953

flag{5577446633554466577768879988}
13、Windows系统密码

右键记事本打开;

在这里插入图片描述

结合文件名字pass.hash我们可以知道这需要转MD5;

在线:https://www.cmd5.com/default.aspx

最后一个一个尝试得到;

在这里插入图片描述

flag{good-luck}
14、信息化时代的步伐

打开txt得到一串数字,根据分析得知:中文电码

解中文电码在线网站:http://code.mcdvisa.com/

在这里插入图片描述

flag{计算机要从娃娃抓起}
15、凯撒?替换?呵呵!

MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}

凯撒密码一般就是26个字母经过单纯的按字母顺序来位移的加密方法(一般)
如:abc=def
进阶版的凯撒就不按照字母顺序的加密
如:abc=dhj
所以就要经过暴力破解出每一种可能的对应加密

参考:https://blog.csdn.net/YIHAHUHA/article/details/103108361

所以这里我们直接使用在线网站;

https://quipqiup.com/?spm=a2c6h.12873639.article-detail.8.2dfd471fDXupH4

(注意如有打不开的情况可能是需要开梯子)

在这里插入图片描述

注意无空格;

flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}
16、萌萌哒的八戒

在这里插入图片描述

猪圈密码,找个在线解码秒了;

链接:https://www.metools.info/code/c90.html

flag{whenthepigwanttoeat}
17、权限获得第一步

在这里插入图片描述

Administrator:500:806EDC27AA52E314AAD3B435B51404EE:F4AD50F57683D4260DFD48AA351A17A8:::

解析;

这行数据是从Windows系统的SAM(安全账户管理器)数据库中提取的一个用户账户的哈希条目。SAM数据库存储了Windows系统中用户的登录凭据,通常以哈希形式保存。这条记录的格式遵循NTLM(NT LAN Manager)哈希的典型表示方式,用于Windows系统的网络协议和密码存储。

这里是这条记录的分解:

  • Administrator:这是用户账户的名称,这里指的是系统管理员账户。
  • 500:这是用户的安全标识符(SID)的一部分,500通常代表内置的管理员账户。
  • 806EDC27AA52E314AAD3B435B51404EE:这是用户密码的LM(LAN Manager)哈希。LM哈希被认为是非常不安全的,因为它将密码转换成大写,分成7字符的块进行哈希,很容易被暴力破解。
  • F4AD50F57683D4260DFD48AA351A17A8:这是用户密码的NTLM哈希,它比LM哈希更安全,但现代方法也能有效地破解它。
  • ::::这些冒号用作字段分隔符,可能在这个上下文中的其他字段为空。

总的来说,这行数据提供了足够的信息来尝试破解用户的密码,尤其是如果使用像rainbow table这样的工具来对付弱密码。

flag{3617656}
18、传统知识+古典密码

下载附件得到;

在这里插入图片描述

既然说是古典加密,那就找一个古典加密表;

在这里插入图片描述

这里“+甲子”就是加60;

所以一个一个对照着出来得到:88 90 83 68 77 70 76 90

这里一看就是ASCLL;

解码得到:XZSDMFLZ

开始分析,古典密码最常见的无非栅栏和凯撒,先栅栏一下;

接着我们接着使用栅栏;

链接:https://www.qqxiuzi.cn/bianma/zhalanmima.php

在这里插入图片描述

在这里插入图片描述

所以;

2栏:
XSMLZDFZ
4栏:
XMZFSLDZ

接着我们对上面的两个结果分别进行恺撒解密:

工具随波逐流;

在这里插入图片描述

最后;

flag{SHUANGYU}
19、RSA1
import gmpy2

# 已知的 RSA 参数
p = 8637633767257008567099653486541091171320491509433615447539162437911244175885667806398411790524083553445158113502227745206205327690939504032994699902053229
q = 12640674973996472769176047937170883420927050821480010581593137135372473880595613737337630629752577346147039284030082593490776630572584959954205336880228469
dp = 6500795702216834621109042351193261530650043841056252930930949663358625016881832840728066026150264693076109354874099841380454881716097778307268116910582929
dq = 783472263673553449019532580386470672380574033551303889137911760438881683674556098098256795673512201963002175438762767516968043599582527539160811120550041
c = 24722305403887382073567316467649080662631552905960229399079107995602154418176056335800638887527614164073530437657085079676157350205351945222989351316076486573599576041978339872265925062764318536089007310270278526159678937431903862892400747915525118983959970607934142974736675784325993445942031372107342103852

# 计算 m1 和 m2
m1 = pow(c, dp, p)
m2 = pow(c, dq, q)

# 计算 q 的逆元 qInv
qInv = gmpy2.invert(q, p)

# 使用 CRT 公式来计算 m
m = (m1 + (qInv * (m2 - m1) % p) * q) % (p*q)

# 将结果转换为十六进制字符串,去除前缀 '0x'
hex_message = hex(m)[2:]

# 将十六进制字符串转换为ASCII文本
text_message = bytes.fromhex(hex_message).decode('ascii')

print(text_message)

简单分析一下;

这段脚本首先进行RSA解密,得到明文的整数表示,然后将这个整数转换为十六进制字符串,最后将十六进制字符串转换为ASCII文本。bytes.fromhex(hex_message).decode('ascii') 这行代码将十六进制字符串转换为对应的文本字符串。这样,text_message 将包含最终的解密文本,可以直接打印出来。

详细:https://blog.csdn.net/m0_51607907/article/details/123884953

最后

flag{W31c0m3_70_Ch1n470wn}
20、世上无难事

在这里插入图片描述

注意题目给的关键词:

找到key作为答案提交、flag是32位、包含小写字母;

所以这里我们直接使用Q爆破;

链接:https://quipqiup.com/

(注意需要梯子)

所以这里我们只需要将将 PIO 替换为 key即可;

在这里插入图片描述

flag{640E11012805F211B0AB24FF02A1ED09}

发现提交不对,那我们就尝试全部改小写;

发现正确

flag{640e11012805f211b0ab24ff02a1ed09}

标签:www,BUUCTF,20,https,Crypto,密码,flag,哈希,链接
From: https://blog.csdn.net/administratorlws/article/details/139334160

相关文章

  • 【STM32 标准库】DS18B20温度
    目录1.DS18B201.1DS18B20简介1.1.1特点1.1.2内部结构1.1.3温度读取2.软件配置3.硬件设计4.软件设计4.1 功能描述4.2 软件实现4.2.1DS18B20.c4.2.2DS18B20.h4.2.3main.c1.DS18B201.1DS18B20简介1.1.1特点        一线总线(单总线)接口......
  • Altium Designer (AD20)常用操作(持续更新)
    目录引言:   今天我带的新同事入职也快一段时间了,前几周基本就是熟悉环境,熟悉项目流程,听听企业文化。这周开始正式要接触项目,然后对于硬件工程师而言,一般要么就是你是主要负责layout,要么就是你要会绘制原理图,要么就是你做系统架构的不需要亲自动手,但是你要能懂layout的对......
  • 2024海外代理IP网站测评总结:哪个值得推荐?
    随着当前跨境电商越来越大众化,跨境代理IP的使用也非常广泛的应用到各种场景中去,例如注册Facebook、Instagram、TikTok等社媒账号,运营亚马逊、Lazada、Ebay等跨境电商平台,然而代理IP服务的层出不穷也意味着服务分化,如何选择最适合自己业务的代理才是重要的,下面鄙人也结合自己跨......
  • [JSOI2015] 染色问题
    [JSOI2015]染色问题题目描述萌萌家有一个棋盘,这个棋盘是一个\(n\timesm\)的矩形,分成\(n\)行\(m\)列共\(n\timesm\)个小方格。现在萌萌和南南有\(C\)种不同颜色的颜料,他们希望把棋盘用这些颜料染色,并满足以下规定:棋盘的每一个小方格既可以染色(染成\(C\)种颜......
  • CF2000
    CF1294FThreePathsonaTree除去整棵树是一条链的情况,答案的构成应该是两条链拼在一起。考虑贪心,先找到直径,再枚举不在直径上的点,求出它们到直径的距离最大值与直径加和即可。最后特判一下一条链的情况。CF1288EMessengerSimulator首先最靠上的位置很显然是\(1\)或者\(......
  • 2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛 (vp + 补题
    比赛主页:https://ac.nowcoder.com/acm/contest/52244AXorBProblem思路:如果i!=j代表(i,j)&(j,i)是两对,也就是说如果i==j代表只有一对,综上得出公式cnt[i]*cnt[i]的累加就是我要的答案Code:#include<bits/stdc++.h>usingnamespacestd;typedeflo......
  • Azure DevOps Server 2022.2(升级过程)
    1.概述2.前期准备3.升级过程4.验证成果1.概述本月微软公司发布了AzureDevOpsServer2022的第二个升级包Update2https://learn.microsoft.com/en-us/azure/devops/server/release-notes/azuredevops2022u2。自2024年3月12日发布AzureDevOpsServer2022Update1(《微软发......
  • 登上国际舞台!天翼云P4 EIP网关流量管理创新方案亮相CCGrid 2024!
    5月8日,第24届IEEE/ACM集群、云和互联网计算国际研讨会(CCGrid2024)在美国费城隆重举行。来自中国、美国、印度、法国等国家的学术及产业界代表齐聚一堂,围绕云计算相关议题进行深入探讨和交流,并带来最前沿的技术展示。天翼云云网产品事业部弹性网络产品线总监侯叶飞出席大会硬件系......
  • HTML20_web概念1
    一、web概念概述1、JavaWeb:使用Java语音开发基于互联网的项目2、软件架构:1.C/S:Client/Server客户端/服务器端 *在用户本地有一个客户端程序,在远程有一个服务器端程序 *如:QQ,迅雷... *优点: 1.用户体验好 *......
  • CSP历年复赛题-P1075 [NOIP2012 普及组] 质因数分解
    原题链接:https://www.luogu.com.cn/problem/P1075题意解读:求n的两个素因子中较大的一个。解题思路:数论的简单题,关键在于要知道一定有一个素因子不超过sqrt(n),而另一个素因子必然大于或等于sqrt(n),这样才能减少枚举时间。100分代码:#include<bits/stdc++.h>usingnamespaces......