BUUCTF-Crypto【1-20T】
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
首先打开之后是一个py文件,本地跑一下,出错
源码为:
import hashlib for i in range(32,127):for j in range(32,127):for k in range(32,127):m=hashlib.md5()m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')des=m.hexdigest()if 'e9032' in des and 'da' in des and '911513' in des:print des
修改后(注意修改的地方:加上的【.encode(
'utf-8')】这玩意是什么?→
https://blog.csdn.net/qq_49551075/article/details/107556997):
import hashlibfor i in range(32,127):for j in range(32,127):for k in range(32,127):m=hashlib.md5()m.update('TASC'.encode('utf-8')+chr(i).encode('utf-8')+'O3RJMV'.encode('utf-8')+chr(j).encode('utf-8')+'WDJKX'.encode('utf-8')+chr(k).encode('utf-8')+'ZM'.encode('utf-8'))des=m.hexdigest()if 'e9032' in des and 'da' in des and '911513' in des:print (des)
运行得出flag:
14.[BJDCTF 2nd]老文盲了
下载文件打开:【罼雧締眔擴灝淛匶襫黼瀬鎶軄鶛驕鳓哵】
在网上找的了在线汉字转拼音。得到这些汉字的读音为:
bì jí dì dà kuò hào zhè jiù shì fǔ lài gē zhí jiē jiāo lè bā dà kuò hào
得到:flag{淛匶襫黼瀬鎶軄鶛驕鳓哵}
看到一串繁体字的都可以考虑这样做,还有一种“与佛论禅”的加密)
15.Alice与Bob
下面是一个大整数:98554799767,请分解为两个素数,分解后,小的放前面,大的放后面,合成一个新的数字,进行md5的32位小写哈希,提交答案。
根据题目可知要先将提供的大整数进行素数拆分,根据题目合成一个新数字然后MD5的32位小写哈希
素数拆分网站如:http://www.factordb.com/index.php
MD5解密网站如:https://www.cmd5.com/
16.rsarsa
Math is cool! Use the RSA algorithm to decode the secret message, c, p, q, and e are parameters for the RSA algorithm.
p=9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q=11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e = 65537
c=83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
Use RSA to find the secret message
做到这里觉得应该先去学习相关的背景知识再去做题……
关于RSA的知识储备(慢慢啃吧)→https://www.anquanke.com/post/id/84632
写代码(这题p,q,e,c都给我们了。于是不需要什么enc和pem文件):
import math
p=9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q=11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e=65537
c=83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
n=p*q
fn=long((p-1)*(q-1))i = 1
while(True):x=(i*fn)+1if(x%e==0):d=x/ebreaki=i+1
print pow(c,d,n)
得到flag→
17.大帝的密码武器
题目.txt:
公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。
密文.txt:
ComeChina
凯撒密码解密后加密(加密位移:13)
18.Windows系统密码
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
ctf:1002:06af9108f2e1fecf144e2e8adef09efd:a7fcb22a88038f35a8f39d503e7f0062:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SUPPORT_388945a0:1001:aad3b435b51404eeaad3b435b51404ee:bef14eee40dffbc345eeb3f58e290d56:::
一开始有点无从下手……经过一次次的尝试,找到了藏在这里面真正的密文a7fcb22a88038f35a8f39d503e7f0062,md5解密
19.[BJDCTF 2nd]cat_flag
有点意思,第一次做到图片题
触及了知识盲区……上网查查:
图中每行有8只猫,总共有两种猫,猜测为二进制ASCII码,二进制转换成字符串即可。
一只有鸡腿,一只没有鸡腿。很容易想到二进制数0,1。
将图片用二进制表示为:
01000010
01001010
01000100
01111011
01001101
00100001
01100001
00110000
01111110
01111101
将二进制数转为16进制进制转换,再16进制转文本16转文。
得到flag为: BJD{M!a0~}
第一反应:还有这种思路,学习了!
20、[BJDCTF 2nd]燕言燕语-y1ng 1
小燕子,穿花衣,年年春天来这里,我问燕子你为啥来,燕子说:
79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20
有点像十六进制,用16进制转字符(16进制在线转换)得到yanzi ZJQ{xilzv_iqssuhoc_suzjg}
一度以为这就是flag了,结果incorrect
原来这还是密码,维吉尼亚密码,密钥是yanzi……(维吉尼亚解密),解密得flag
又get一种新密码:
维吉尼亚密码是在凯撒密码基础上产生的一种加密方法,它将凯撒密码的全部25种位移排序为一张表,与原字母序列共同组成26行及26列的字母表。另外,维吉尼亚密码必须有一个密钥,这个密钥由字母组成,最少一个,最多可与明文字母数量相等。维吉尼亚密码加密方法示例如下:
明文:I've got it.
密钥:ok密文:W'fs qcd wd.
首先,密钥长度需要与明文长度相同,如果少于明文长度,则重复拼接直到相同。本例中,明文长度为8个字母(非字母均被忽略),密钥会被程序补全为“okokokok”。现在根据如下维吉尼亚密码表格进行加密:
明文第一个字母是“I”,密钥第一个字母是“o”,在表格中找到“I”列与“o”行相交点,字母“W”就是密文第一个字母;同理,“v”列与“k”行交点字母是“F”;“e”列与“o”行交点字母是“S”……
- 维吉尼亚密码只对字母进行加密,不区分大小写,若文本中出现非字母字符会原样保留。
- 如果输入多行文本,每行是单独加密的。
小结:几周断断续续做完了前二十道题,每做一道题都会去搜解题原理,一边做一边学。算是对密码有一点点入门了吧。每遇到一种新的加密方式都让我更加觉得密码是多么的变幻、渊深莫测……当然也很有趣,哈哈哈。再接再厉!
BUUCTF-Crypto【1-20T】相关推荐
- 【Linux 内核】Linux 内核源码目录说明 ① ( arch 目录 | block 目录 | certs 目录 | crypto 目录 | Documentation 目录 )
文章目录 一.arch 目录 二.block 目录 三.certs 目录 四.crypto 目录 五.Documentation 目录 在上一篇博客 [Linux 内核]Linux 内核源码结构 ( ...
- 2006年上半年 网络工程师 上下午试卷【附带答案】
2004-2017年真题+答案[0.23RMB]自取 2006年上半年 网络工程师 上午试卷 ● 高速缓存Cache与主存间采用全相联的地址影像方式,高速缓存的容量为4MB,分为4块,每块1MB,主存 ...
- 【×××系列八】Dynamic Multipoint *** for IPv6 详解
[×××系列八]Dynamic Multipoint *** for IPv6 详解 一.前言 由于涉及IPV6加密,所以根据思科标准此次配置使用思科7200系列高级企业版IOS (详情参考我的上一篇 ...
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 项目中配置 OpenSSL 开源库 | 使用 OpenSSL 开源库解密 dex 文件 )
文章目录 一.项目中配置 OpenSSL 开源库 二.OpenSSL 开源库解密参考代码 三.解密 dex 文件的 Java 代码 四.解密 dex 文件的 Jni 代码 参考博客 : [Androi ...
- 【Android RTMP】RTMPDumb 源码导入 Android Studio ( 交叉编译 | 配置 CMakeList.txt 构建脚本 )
文章目录 安卓直播推流专栏博客总结 一. RTMP 协议 二. RTMP 协议使用 三. RTMPDump 源码下载 四. RTMPDump 源码交叉编译 五. RTMPDump 源码导入 Andro ...
- 【Web安全】JSP内存马研究
前言 最近在研究webshell免杀的问题,到了内存马免杀部分发现传统的Filter或者Servlet查杀手段比较多,不太容易实现免杀,比如有些工具会将所有注册的Servlet和Filter拿出来,排 ...
- 【Linux部署】NTP时间服务器搭建及Linux+Windows客户端使用(一篇学会使用NTP服务)
1.什么是NTP 百度百科:网络时间协议,英文名称:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同 ...
- 【 Grey Hack 】万金油脚本:从路由器获取Password
目录 脚本源码 用法 效果及示例 版本:Grey Hack v0.7.3618 - Alpha 脚本源码 if params.len != 2 or params[0] == "-h&quo ...
- 【 Grey Hack 】万金油脚本:常见端口获取Password
目录 脚本源码 用法 效果及示例 SSH (80)端口 FTP (21)端口 HTTP (80)端口 失败示例 SMTP (25)端口 版本:Grey Hack v0.7.3618 - Alpha 适 ...
- 【Linux开发】如何查看Linux kernel的内置模块驱动列表和进程ID
[Linux开发]如何查看Linux kernel的内置模块驱动列表和进程ID 标签:[Linux开发] 命令: cat /lib/modules/$(uname -r)/modules.builti ...
最新文章
- CUDA上深度学习模型量化的自动化优化
- ipadpro+打开html文件,iPadPro日常基本功能的使用技巧汇总
- 算法分析与设计-实验四 回溯算法设计
- 2019贵州大学计算机研究生,贵州大学2019年硕士研究生招生拟录取名单公示(一)...
- linux内容对齐的快捷键,linux第一波命令总结
- mongo数据排序和分页显示
- Andrew Ng-ML-第十五章-降维
- glide 压缩图拍呢_Glide-图片的压缩
- 如何使用NSOperations和NSOperationQueues
- C# Format详解
- aspiration搭配_明3你们最喜欢的组合有哪些?
- Flink基础系列7-通过Web UI执行jar文件
- Python Django,模型,模型管理器类(models.Manager)(与数据库交互的接口),自定义模型管理器类
- 论文实证分析怎么写?
- LYNC2010两台虚机部署笔记2
- SOLIDWORKS Routing进阶篇——管道设计技巧分享
- bias and variance在机器学习中的应用
- 用matlab代码实现QDA,matlab数据库
- 单机版MongoDB插入了亿万条数据之后...
- CF兵种卡强化服务器维护,CF战场模式攻略 兵种卡获取与强化技巧