实验吧-密码学(二)
11、最近在论证一个问题,到底是先有鸡还是先有蛋
Ijm,lo 3wsdr4 6tghu7
解题链接: http://ctf5.shiyanbar.com/crypto/1/dan.html
在键盘上的位置刚好是3个圆,圆心的位置的字母就是答案。
答案:KEY
12、一段奇怪的代码
解题链接: http://ctf5.shiyanbar.com:8080/aspencode/
ASP encode解密
密文:
#@~^EQAAAA==VXlj4UmkaYAUmKN3bAYAAA==^#~@
使用ASP在线解密工具:
http://www.zhaoyuanma.com/aspdecode.php
答案: VbSciptEncodE
13、这里没有key
解题链接: http://ctf5.shiyanbar.com:8080/4/index.html
F12之后发现里面有
<!-- #@~^TgAAAA=='[6*liLa6++p'aXvfiLaa6i[[avWi[[a*p[[6*!I'[6cp'aXvXILa6fp[:6+Wp[:XvWi[[6+XivRIAAA==^#~@ -->
为VBscript编码,解码之
解码网站:推荐网站:http://www.dheart.net/decode/index.php
答案:Encode@decode
14、压缩的问题
一段16进制字符串,乌鸦~~~~~~
解题链接: http://ctf5.shiyanbar.com/crypto/winrar/
C:\Program Files\HashTab Shell Extension
解题思路:将十六进制字符串复制进winHex中,保存后rar文件导出,显示如下,得知为rar文件,
根据提示知道解压密码为:65H-71H选中后,后面的..[z-{}..9B8C
随即也亮了,说明其为解压的密码,解压,鼠标右键点击属性,可以看到SHA-1的哈希值,由于题目中说明了为其前8位故而,答案:58a09ae4
解压密码:..[z-{}..9B8C
答案:58a09ae4
15、chinese hacker
那一夜,你伤害你,那一夜,我看见了一堆骷髅头
解题链接: http://ctf5.shiyanbar.com/web/2/
解题关键:
打开解题链接,下载数据库文件,需要DbView数据库查看器
打开数据库文件,会发现有密码,点击破解密码,然后点击连接进入。
DbView数据库查看器
复制里面的内容进第一个框内提交得到:
Key1: 1GetThEFirst
返回做第二题,对code1进行解密,看到里面有=猜想是不是base64,解密后发现并不是,因此猜测可能是base32.
使用python交互来解码(base64的库可以用来解base32)
>>> import base64
>>> base64.b32decode("INXW2ZLPNYZDAMJSMJQWE6I=")
'Comeon2012baby'
>>>
得到key2
Key2: 2tHEWinNer
答案:1GetThEFirst+2tHEWinNer
16、base??
YMFZZTY0D3RMD3RMMTIZ
这一串到底是什么!!!!为什么这么像base32却不是!!!
明文的md5值为16478a151bdd41335dcd69b270f6b985
解题链接: http://ctf5.shiyanbar.com/crypto/c300
打开链接后自动下载一个c300的文件,用winHex打开发现是个rar文件,保存后rar文件,然后打开用记事本打开,可以看到其中,加密代码为:
import base64
def change(ch):
if ord(ch)<92:
return chr(ord(ch)+32)
else:
return chr(ord(ch)-32)
if __name__ == '__main__':
flag='?????'
rawstr=base64.b64encode(flag)
finalstr=''
for i in range(0,len(rawstr)):
if ord(rawstr[i])>96 and ord(rawstr[i])<123:
finalstr+=change(rawstr[i])
else:
finalstr+=rawstr[i]
print rawstr
print finalstr
看源码是所有base64大写,现在就是反过来,每个大小写都试一下,用到itemtools里面的product方法(返回传入参数的笛卡尔积)
具体代码如下:(py2.7)
#!/usr/bin/python
#encoding=UTF=8
import hashlib
import itertools
from base64 import b64decode
def check(str):
m1 = hashlib.md5(str)
if m1.hexdigest() == '16478a151bdd41335dcd69b270f6b985':
return True
else:
return False
list1=itertools.product(['Y','y'],['M','m'],['F','f'],['Z','z'],['Z','z'],['T','t'],['Y','y'],['0'],['D','d'],['3'],['R','r'],['M','m'],['D','d'],['3'],['R','r'],['M','m'],['M','m'],['T','t'],['I','i'],['Z','z'])
for i in list1:
str1=''.join(i)
if check(b64decode(str1)):
print "The Flag is "+b64decode(str1)
break
运行结果如下:
The Flag is base64wtfwtf123
答案:base64wtfwtf123
17、兔子你好
U2FsdGVkX197ihEWFWSF8qzdJ/Y1GS6pieLsbQHFUA==
兔子即为rabbit,按照提示rabbit解码即可
在线解码:
http://tool.oschina.net/encrypt
答案:sImPle_xUe_yuan
18、疑惑的汉字
现有一段经过加密的密文,内容如下:王夫 井工 夫口 由中人 井中 夫夫 由中大。请找出这段密文隐藏的消息明文。
格式:CTF{ }
解题链接: http://ctf5.shiyanbar.com/423/crypto/1.html
解题思路:复制密文至百度,发现是当铺密码
67 84 70 123 82 77 125
将该密码进行ASCII转换得到CTF{RM}。
答案:CTF{RM}
19、神秘字母
神秘字母dloguszijluswogany而旁边的矩阵是1 2,快找出flag吧 0 1
格式:simCTF{ }
解题链接: http://ctf5.shiyanbar.com/crypto/zimu.html
在线代的课本上出现了一堆神秘字母
dloguszijluswogany
而旁边的矩阵是
1 2
0 1
快找出flag吧
key格式:simCTF{}
解题思路:
看到矩阵猜想应该是希尔密码加密,根据矩阵乘法的规则:,将其排成2列,(即两个字母为一组)
d o u z j u w g n
4 15 21 26 10 21 23 7 14
l g s i l s o a y
12 7 19 9 12 19 15 1 25
分别与密码相乘然后mod26发现没有规律,然后对秘钥矩阵求逆得:
1 -2 逆矩阵求法:|A B| = 1/(AD-BC) * | D -B|
0 1 |C D| |-C A|
然后用逆矩阵与密码相乘mod26得:
1 -2 * 4 = -20 mod26 对应 f
0 1 12 12 l
1 -2 * 15 = 1 mod26 对应 a
0 1 7 7 g
依次得到:flagis hillissoeasy
答案:simCTF{hillissoeasy}
20、围在栅栏中的爱
最近一直在好奇一个问题,QWE到底等不等于ABC?
-.- .. --.- .-.. .-- - ..-. -.-. --.- --. -. ... --- ---
flag格式:CTF{xxx}
解题思路:看到字符串得知使用的摩斯密码,使用摩斯密码解密得到:
http://www.jb51.net/tools/morse.htm(在线摩斯密码加解密)
得到明文:KIQLWTFCQGNSOO
根据题目知应该需要经过栅栏密码解密处理,
在线栅栏密码平台:http://www.qqxiuzi.cn/bianma/zhalanmima.php
每组字数由2-7依次尝试,发现只有7的结果中含有提示的love
RABNAYIHSEVOLI,将结果进行反转得到:ILOVESHIYANBAR
根据提示里面的字母改为小写既可。
答案:CTF{iloveshiyanbar}
转载于:https://www.cnblogs.com/duanwxue1128/p/7812839.html
实验吧-密码学(二)相关推荐
- 计算机 密码学 实验一,计算机网络安全技术-实验一-密码学基础
计算机网络安全技术-实验一-密码学基础 计算机科学与技术系实 验 报 告专业名称 网络工程 课程名称 计算机网络安全技术 项目名称 密码学 班 级 13 网工(1)班 学 号 1304031030 姓 ...
- 第四周课程总结实验报告(二)
Java实验报告(二) 实验二 Java简单类与对象 一. 实验目的 (1) 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: (2) 理解类和对象的区别,掌握构造 ...
- sdut 3341数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000MS Memory Limit: 65536K Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如 ...
- SDUT _2117 数据结构实验之链表二:逆序建立链表
点击打开链接 数据结构实验之链表二:逆序建立链表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem D ...
- SDUT 3399 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 冒泡排序和快 ...
- 创建可用实验快照(二)
创建可用实验快照(二) 四:设置光盘开机自动挂载 [root@localhost ~]# echo "/dev/sr0 /mnt iso9660 defaults 0 0" > ...
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Descript ...
- CSAPP实验记录(二)Bomb Lab
CSAPP实验记录(二)Bomb Lab 二进制炸弹是由一系列阶段组成的程序.每个阶段都要求你在 stdin 上键入一个特定的字符串.如果你输入了正确的字符串,那么这个阶段就被拆除,炸弹进入下一个阶段 ...
- 3374——数据结构实验之查找二:平衡二叉树
数据结构实验之查找二:平衡二叉树 ( LL RR LR RL) Problem Description 根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根. Input 输入一组测试数据 ...
- MySQL数据库 实验报告(二)
实验报告(二) 1.实验目的 (1)掌握Select子句的功能和检索数据的方法 (2)掌握对查询结果排序的方法 2.实验预习与准备 (1)了解数据检索时利用Select对指定属性查询的方式 (2)了解 ...
最新文章
- 汇编的艺术(01)sizeof operator
- java guava json文件_Json解析文件位置的问题
- java接口开发规范,干货满满
- w ndows10电脑配置看哪里,Windows10怎么自动登录?Windows10自动登录的设置方法
- app inventor HTML5,[App Inventor] Web客戶端元件 POST 傳值的使用方式
- JAVA构造函数是不是封装_Java 封装与构造函数
- windows+idea运行hadoop demo(亲测)
- BZOJ2190 SDOI2008 仪仗队
- 跨域访问的相关概念及解决方法
- NLP情感分析笔记(三):Faster 情感分析
- 大连市2011年初中毕业升学考试试测(一)数 学
- 6个常用的Python编程开发工具
- 行为树(Behavior Tree)详细介绍
- java append函数_请详细说一下java中append()的方法.
- Lucene.Net的简单练习
- 青岛经济职业学校计算机老师,青春不散场!青岛经济职业学校举办2020届毕业典礼...
- HDU 4125 Moles 树状数组 + KMP
- android实现歌词的自动滚动
- PLC可编程控制器控制热水供暖循环系统实训
- 2022最新大厂Java面试集合,五面拿下阿里飞猪offer
热门文章
- KSO-2022年2月份PYPL编程语言排行榜
- 哈工大C语言程序设计精髓 第十一周编程题
- Feburary——1438. 绝对差不超过限制的最长连续子数组(滑动窗口)
- Docker容器的数据卷(volumes)
- 王牌战争文明重启服务器维护,王牌战争文明重启攻略 新手开荒指南
- Android获取系统相册图片选中地址,获取手机中的所有图片地址自定义相册
- 你应该知道的三相电机知识
- java生成和解析二维码实战——QRCode
- 将本机文件复制到安装的虚拟机系统中的两种方法
- python+selenium移动滑块代码【杭州多测师_王sir】【杭州多测师】