[Bugku][Crypto][CTF][2020]Crypto 1-20 write up

工具:CaptEncoder
https://www.freebuf.com/sectool/188397.html
Convert:https://pan.baidu.com/s/17YPXfvBHl_HyA00AffTBvg 密码:skqw
推荐网站:http://ctf.ssleye.com/

Crypto 1
关键字: 莫斯 /.-
步骤:莫斯解码得:FLAG%u7bD3FCBF17F9399504%u7d,%u7b web解码得{,%u7d web解码得}。中间的大写转换为小写,组合起来就是flag。
莫斯转码:https://www.atool99.com/morse.php

Crypto 2
关键字: 栅栏密码 两个一组
步骤:在线栅栏 直接解密

Crypto 3
关键字: Ook.
步骤: ook解码,https://www.splitbrain.org/services/ook在线工具,直接ook!to text

Crypto 4
关键字: [±<>] brainfuck
知识点: brainfuck语言用> < + - . , [ ]八种符号来替换C语言的各种语法和命令
步骤:https://www.splitbrain.org/services/ook,然后Brainfuck to Text

Crypto 5
关键字: 莫斯密码
知识点:
步骤:查表一一对应 或者在线 http://ctf.ssleye.com/morse.html
https://blog.csdn.net/qq_42777804/article/details/90742966

Crypto 6
关键字:base64
步骤:AA和==相似 A超出base64范围
移4位后 base64解码

import base64
#'miwen.txt'
miwen = open('miwen.txt').readline()
res = '' # 存储结果
for i,enu in enumerate(miwen):res += chr(ord(enu)-4)
print('ascii码偏移后结果:'+res)
res = base64.b64decode(res).decode()
print('base64解码后结果:'+res)

Crypto 7
关键字: 移位密码
步骤:按照 2 1 6 5 3 4移位

# 此脚本用来根据顺序调整密文以得到明文
miwen = open('miwen.txt').readline()
tem = '' # 临时存储
resList = [] # 结果数组
res = '' # 最终结果
for i,enu in enumerate(miwen): # 先把密文每六个一组分好tem += enuif len(tem)==6 or i == len(miwen) - 1:resList.append(tem)tem = ''
for i in range(len(resList)):res += resList[i][1]+resList[i][0]+resList[i][4]+resList[i][5]+resList[i][3]+resList[i][2]
print(res)

Crypto 9 一段base64 Hex to text
步骤:1.Base64解密 2.unescape 3.Hex to text .4.unescape
5.ascii码转字符 6.Decode HTML

https://blog.csdn.net/qq_40980391/article/details/79194128

Crypto 8 .!?
关键字: short ook编码
步骤:

Crypto 10
关键字:累次加密

步骤:看到这串字符…像常见的提交flag{xxx}格式…
先看一下ascii的编码吧,试一下是否和flag有关系~
gndk的10进制的ASCII码分别是:103 110 100 107
flag的10进制的ASCII码分别是 :102 108 97 103
发现ASCII以此减少 1 2 3 4,所以以此类推后面会继续减少…

# 此脚本用于解决累次加密
miwen = open('miwen.txt').readline()
for j in range(10):for i,enu in enumerate(miwen):print(chr(ord(enu)-i-j),end = '')print()

Crypto11 托马斯.杰斐逊
步骤:写脚本进行移位
含有bugku的即为答案
https://www.cnblogs.com/0yst3r-2046/p/11810574.html

Crypto 12 告诉你个秘密
知识点: 键盘密码
步骤:1. hex后 base64
2.r5yG lp9I BjM tFhBT6uh y7iJ QsZ bhM 围着的字母大写
flag{TONGYUAN}

Crypto 13 不是md5
关键字: hex
666c61677b616537333538376261353662616566357d

Crypto 14 贝斯家族
关键字: base91
知识点: base91字符较多

步骤:http://www.atoolbox.net/Tool.php?Id=935
@iH<,{bdR2H;i6*Tm,Wx2izpx2!

Crypto 15 python(N1CTF)
知识点: Feistel加密 DES算法
步骤:https://www.cnblogs.com/0yst3r-2046/p/12123653.html

Crypto 16 进制转换
关键字:
步骤: b开头是二进制,o开头是八进制,d开头是十进制,x开头是十六进制。

# 此脚本针对不同进制字符,统一转换成十进制,再转成字符
miwen = open('text.txt').readline().split(' ')
res = ''
for i in range(len(miwen)):if miwen[i][0] == 'b':res += chr(int(miwen[i][1:],2))elif miwen[i][0] == 'd':res += chr(int(miwen[i][1:],10))elif miwen[i][0] == 'o':res += chr(int(miwen[i][1:],8))elif miwen[i][0] == 'x':res += chr(int(miwen[i][1:],16))
print(res)

Crypto 17 affine加密
关键字: 仿射加密
知识点: affine加密,仿射加密,其实也就是明文和密文之间有一个一次函数变化,y=kx+b,只不过为了让y能转换成对应的密文,要对kx+b取余。
步骤:
一般常用的字符集就是a-z,分别对应0-26。
并且,一次函数能用于做密码是因为他有个特性,就是每一个x对应唯一的y,所以为了保证取余之后也能保持这种特性,就要求k与字符集的大小(这里是26)互质。
两种方法,一种是用解密函数,一种是暴力破解,哪种都可以。

# 此脚本用于暴力破解仿射加密
# 加密函数:y=17x-8 
# 密文: szzyfimhyzd
miwen = "szzyfimhyzd"def baoLi(miwen): # 暴力解密miwen = miwen.lower() # 全部转换成小写res = ''for i,enu in enumerate(miwen): # 遍历每一个字母for j in range(26): # 遍历字母表if (17 * j - 8) % 26 == ord(enu) - 97: # 比对加密结果res += chr(j + 97)break # 成功直接跳出return res
#仿射密码解密
#改进欧几里得算法求线性方程的x与y
def get(a, b):if b == 0:return 1, 0else:k = a //bremainder = a % bx1, y1 = get(b, remainder)x, y =y1, x1 - k * y1return x, y
def jiemi(miwen): # 解密函数解密miwen = miwen.lower()res = ''k = 17b = -8#求a关于26的乘法逆元x, y = get(k, 26)a1 = x % 26for i, enu in enumerate(miwen):res += chr((a1 * (ord(enu)- 97 - b) % 26)+ 97)return resprint("暴力解密结果:"+baoLi(miwen))
print("解密函数解密:"+jiemi(miwen))

Crypto 18 Crack it
关键字: shadow join
步骤:https://blog.csdn.net/Onlyone_1314/article/details/89287327?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-5.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-5.not_use_machine_learn_pai

Crypto 19 rsa
关键字: RSA
知识点:

步骤:
1.给出了N、e、密文,RsaCtfTool把N分解成大素数,求出p、q
2.知道p、q,求出d后,解密函数是M =C^D mod N
https://blog.csdn.net/shenzhang7331/article/details/84311280
最后一行修改 print(n2s(m))

Crypto 20 来自宇宙的信号
关键字: 银河字母

步骤:百度搜索银行字母 一一对应

总结

  • 有两种符号组成,每几个一组,每组符号个数不一定相同的加密结果,考虑摩斯密码;
  • 每组有五个字符,一共有三种类型的字符,可能是short ook加密,一般是.!?这三种字符;
  • 每组有五个字符,一共有七种类型的字符,可能是brainfuck加密,一般是±[]<>.这七种字符;
  • \123\123\123,类似的反斜杠加数字的组合,是escape加密结果;
  • &#102;&#55;,类似的组合是encode HTML的结果;
  • &#x26;&#x23;,类似的组合是encode HTML的结果;
  • \u0053\u0074,类似的组合是escape加密结果;
  • \u0053\u0074,类似的组合是escape加密结果;

参考博客:https://www.cnblogs.com/qiaowukong/p/13657062.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《我的十年图像生涯》—王郑耀(西安交通大学)

最近看王郑耀的《我的十年图像生涯》颇有感悟&#xff0c;在此把他的资料总结下 参考&#xff1a; 1.王郑耀《我的十年图像生涯》博客 链接——https://www.cnblogs.com/jsxyhelu/p/7054573.html 里边有自己这十年的经历&#xff1b; 2.王郑耀《数字图像的边缘检测》本科论文 链…

第四十二期:Linux转正日常办公电脑到底行不行

昨天是中国程序员们自定义的程序员日&#xff0c;阿里在秀食堂&#xff0c;另一网络巨头腾讯也不甘寂寞地小蹭了一下这个节日&#xff1a;发布了Linux QQ 2.0 beta&#xff0c;宣告Linux版QQ回归。 作者&#xff1a;电脑报 昨天是中国程序员们自定义的程序员日&#xff0c;阿…

算法二——二分查找

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 思考题目 1 用最省内存的方式查找数据。 2 快速定位ip所在省市 二分查找的速度 二分每次都通过跟区间中的中间元素对比&#xff0c;将待查找的区间缩小为一半&…

[Kali][VMware][2020][窗口大小][分辨率]高分辨率自适应

1.Vmware->查看->自动调整大小->自动适应窗口 2.Kali现在提供了HiDPI模式。此模式可调整GTK&#xff0c;QT甚至基于Java的界面的缩放比例&#xff0c;因此用户无需手动修改每个界面。您可以通过从应用程序菜单中打开“ Kali HiDPI模式”或kali-hidpi-mode从终端运行来…

第四十三期:Wireshark网络分析就这么简单,你一定会喜欢的技巧

拿到一个网络包时&#xff0c;我们总是希望它是尽可能小的。操作一个大包相当费时&#xff0c;有时甚至会死机。如果让初学者分析1GB以上的包&#xff0c;估计会被打击得信心全无。所以抓包时应该尽量只抓必要的部分。 作者&#xff1a;科技yuan 一、抓包 拿到一个网络包时&a…

Beta冲刺(9/7)——2019.5.31

作业描述 课程软件工程1916|W(福州大学)团队名称修&#xff01;咻咻&#xff01;作业要求项目Beta冲刺&#xff08;团队&#xff09;团队目标切实可行的计算机协会维修预约平台开发工具Eclipse团队信息 队员学号队员姓名个人博客地址备注221600207黄权焕https://www.cnblogs.co…

数据结构三——跳表

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 跳表的由来 说明&#xff1a;图片来自极客时间 由来   二分查找的数据结构是数组&#xff0c;利用数组随机访问的特定查找的时间复杂度是O(logn)。如果数据结构是…

[BUGKU][CTF][MISC][2020] MISC writeup持续更新中

CTF总结 ctf基本操作&#xff1a;https://blog.csdn.net/mafucan/article/details/106886421 zip: https://www.anquanke.com/post/id/86211 找软件推荐网址 1.https://www.52pojie.cn/ 2.没有的话百度一下 去找百度云 工具下载&#xff1a; stegSolve 隐写分析 需要配置Java…

spring学习(1):初始项目

1打开idea----new project 2点击建立项目的类型maven 点击next 3点击next 4选择路径&#xff0c;点击完成 5建立成功之后修改pom.xml配置文件 添加&#xff0c;解决依赖关系 <dependencies><dependency><groupId>org.springframework</groupId><ar…

while语句学习

while语句 while [break][continue] break 退出当前循环continue 退出当前循环&#xff0c;并重新循环。执行语句可以是单个语句或语句块。判断条件可以是任何表达式&#xff0c;任何非零、或非空&#xff08;null&#xff09;的值均为true。 当判断条件假false时&#xff0c;循…

[密码学][困难问题][常见规约]密码学问题常见困难问题

参考网址(科学上网) 密码学问题常见困难问题,需要点击参考网址进行查找 其困难问题的介绍非常友好&#xff0c;请根据目录快速找到相关资料 以下是检索 目录 Discrete logarithm problem DLP: discrete logarithm problem CDH: computational Diffie-Hellman problem SDH:…

数据结构四——散列表(下)

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 7 散列表链表的应用 很多情况下散列表会和链表一起使用。散列表可以通过key查找value。链表可以按照value进行排序。这样就能通过value查找key&#xff0c;也可以通…

spring学习(2):初始化spring程序

接着上一节的课程继续学习 MesasageService 类 package hello;import org.springframework.stereotype.Component; //注解的加入 Component public class MesasageService {public MesasageService() {super();System.out.println("MessageService...");}/*** 执行打…

Asp.Net Core 第05局:读取配置

前言 本文介绍Asp.Net Core 读取配置文件。环境 1.Visual Studio 2017 2.Asp.Net Core 2.2 开局 前期准备 1.添加app.json文件并在里面添加内容&#xff1b; 2.将app.json文件配置到应用中&#xff1b; 3.添加app.json对应的AppConfig类&#xff1b; 4.下面三种方式读取配置文…

[BUGKU][CTF][PWN][2020] PWN writeup

准备UBUNTU pwndbg pwntools PWN1 关键字&#xff1a;nc 知识点&#xff1a;nc使用方法 https://www.cnblogs.com/nmap/p/6148306.html nc命令是一个功能打包的网络实用程序&#xff0c;它通过命令行在网络上读取和写入数据;nc是为NMAP项目编写的&#xff0c;是目前已分裂的ne…

spring学习(3):获取bean对象

接着上一节的课程继续学习 MesasageService 类 package hello;import org.springframework.stereotype.Component; //注解的加入 Component public class MesasageService {public MesasageService() {super();System.out.println("MessageService...");}/*** 执行打…

数据结构四——散列表(上)

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 1散列表的由来 从数组随机访问特性说起。  数组的随机访问特性是&#xff1a;数组a,a[5]可以直接访问到数组的第6个元素。这就类似于在下标和数组对应的值之间建立…

java实训 :异常(try-catch执行顺序与自定义异常)

关键字&#xff1a;try:执行可能产生异常的代码catch:捕获异常finally:无论是否发生异常代码总能执行throws:声明方法可能要抛出的各种异常throw:手动抛出自定义异常用 try-catch-finally 异常处理&#xff1a;情况一(正常运行&#xff0c;无异常)&#xff1a;执行try,执行fina…

[BUGKU][CTF][Reverse][2020] Reverse writeup 1-7 暂时肝不动了

Reverse 入门逆向 步骤: ida main函数 按R Reverse signin 关键字&#xff1a; 知识点&#xff1a;Android逆向分析。&#xff08;常用工具&#xff1a;安卓模拟器、JEB、Cyberchef、Androidkiller&#xff09; 步骤: 1.用jeb打开&#xff0c;找到MainActivity&#xff0c;右…

spring学习(4):spring管理对象之间的关联关系

接着上一节的课程继续学习 MesasageService 类 package hello;import org.springframework.stereotype.Component; //注解的加入 Component public class MesasageService {public MesasageService() {super();System.out.println("MessageService...");}/*** 执行打…