bugku crypto wp上半部分汇总
1.滴答~滴

摩斯码,在线解开。
2.

栅栏密码,在线解就出flag了。
3.

Ook解密,由.?!Ook组成密文,在线网站解密
4.这不是摩斯密码

有点像jsfuck,发现又不是,因为不会出现大于号,查了一下发现brainfuck加密,在线网站解下就ok了。
5.easy_crypto

有点像二进制,发现去转文本失败了,看wp,发现是摩斯密码的另一种,用脚本解出来的,
from __future__ import print_function
a = input("input the string:")
s = a.split(" ")
dict = {'01': 'A',
'1000': 'B',
'1010': 'C',
'100':'D',
'0':'E',
'0010':'F',
'110': 'G',
'0000': 'H',
'00': 'I',
'0111':'J',
'101': 'K',
'0100': 'L',
'11': 'M',
'10': 'N',
'111': 'O',
'0110': 'P',
'1101': 'Q',
'010': 'R',
'000': 'S',
'1': 'T',
'001': 'U',
'0001': 'V',
'011': 'W',
'1001': 'X',
'1011': 'Y',
'1100': 'Z',
'01111': '1',
'00111': '2',
'00011': '3',
'00001': '4',
'00000': '5',
'10000': '6',
'11000': '7',
'11100': '8',
'11110': '9',
'11111': '0',
'001100': '?',
'10010': '/',
'101101': '()',
'100001': '-',
'010101': '.',
'110011':',',
'011010':'@',
'111000':':',
'101010':':',
'10001':'=',
'011110':"'",
'101011':'!',
'001101':'_',
'010010':'"',
'10110':'(',
'1111011':'{',
'1111101':'}'
};
for item in s:
print (dict[item],end='')
6.简单加密

看到后缀的AA,联想到base64的两个等于号,大胆猜测是凯撒,放到在线解密时,发现找不到==,发现在线加解密凯撒的局限性,字母只有26个字母,而不是按照ASCII码来移动,所以要自己写个脚本,只需要对应A和等于相差4,所以将密文所有字符的ASCII码都减4,得到flag,这边脚本我删了,不难写,
7.散乱的密文
发现已经有flag的字符,不过排列是散乱的,题目也给了提示,所以猜测给的是顺序,6个字符为一组,手动排序一下,得到flag

@@字符要去掉,应该只是一个占位的作用
8.凯撒部长的奖励
直接在线解密,最好就是看仔细一点,我第一次做,没怎么看仔细,找了半天。。
9.一段base64(老千层饼了,芜湖飞飞)

给了一堆的字符串,并且是base64,刚做的时候,理解是重复的一段base64,发现我错了,找不到,老老实实
到网站上解密,发现居然是

发现全是八进制的数字,把它转换成字符串看看,

又是十六进制,开始套娃了,再转换一次

发现是Unicode编码,转换成中文看看。

这玩意的意思,不是将里面的数字,转换成字符串吗。。
再来一次。

又是一次Unicode的方式不过,这种需要用html来解码,利用一个工具来搞,经过两次得出flag。

里面还有url编码,拿去解码就好了,可以看一下我之前的变量胡乱设的脚本:
import base64
import unicodedata
import urllib
import re
def convert_to_cn(text):
# 需要将 × 这种先做补全,×
text = re.sub(r'&#x([A-F0-9]{2});', r'�\1;', text)
return text.replace('&#x', '\\u') \
.replace(';', '') \
.decode('unicode-escape') \
.encode('utf-8')
with open('base.txt') as f:
p1=f.read()
p2=base64.b64decode(p1) #暗示是八进制的编码
p3=re.findall('\d+',str(p2))
#解码八进制
p4=p3
p5=""
for i in p3:
p5+=chr(int(i,8))
#解码十六进制:
#先将十六进制数取出来
tmp=re.findall('\d+',p5)
#将十六进制再解码
p6=""
for i in tmp:
p6+=chr(int(i,16))
print(p6)
#将Unicode码取出,再解码
tmp=re.findall('u[\d\w]+',p6)
tmp="".join(tmp).replace('u','\\u')
tmp=tmp.encode('utf-8').decode('unicode_escape') #python3unicode转中文
print(tmp)
#将里面的数字取出,转换成字符串
p7=re.findall("\d+",tmp)
p8=""
for i in p7:
p8+=chr(int(i))
print(p8)

oOk加密,.!?典型
11.

brainfuck在线解密
12.

凯撒,gndk和flag肯定有某种联系,查ASCII码表,就能发现猫腻,写出脚本就得出flag了。
13.这不是md5

这题我去,题目说了这不是md5,我以为掩耳盗铃,结果是真的。。。,md5各种试,看了看wp,发现就是个十六进制。。
14.

在线解密就好了
bugku crypto wp上半部分汇总的更多相关文章
- bugku Crypto 下半部分wp
1. 百度托马斯这个人居然还发明了一种轮转的加密法,发现原理是,他将很多行乱序的26个字母,插到一根柱子上,参考糖葫芦的样子,可以旋转每一行,设置自己要发送的明文后,向对方发送乱码的一列,对方只要将这 ...
- bugku crypto easy-crypto
长度不一的01字符串 就要考虑是不是摩斯密码 用这个py脚本: from __future__ import print_function a = input("input the stri ...
- bugku crypto 告诉你一个秘密(ISCCCTF)
emmmm....有点坑 题目: 636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A57 ...
- bugku - pwn wp
一. PWN1 题目:nc 114.116.54.89 10001 1. 直接kali里面跑nc 2.ls看看有啥 3.明显有一个flag cat查看一下 搞定 二 . PWN2 题目:给了nc 1 ...
- 2021羊城杯比赛复现(Crypto)
bigrsa 题目: from Crypto.Util.number import * from flag import * n1 = 10383529640908175186077053551474 ...
- BUUCTF Crypto
BUUCTF 几道crypto WP [AFCTF2018]Morse 简单的莫尔斯密码,最直观的莫尔斯密码是直接采用空格分割的点和划线,这题稍微绕了一下使用的是斜杠来划分 所以首先将斜杠全部替换为空 ...
- BUUCTF Crypto_WP(2)
BUUCTF Crypto WP 几道密码学wp [GXYCTF2019]CheckIn 知识点:Base64,rot47 下载文件后,发现一个txt文件,打开发现一串base64,界面之后出现一串乱 ...
- bugku 密码学一些题的wp
---恢复内容开始--- 1.滴答滴 摩斯密码,http://tool.bugku.com/mosi/ 2.聪明的小羊 从提示猜是栅栏密码,http://tool.bugku.com/jiemi/ 3 ...
- WP | BUGKU 论剑
题目:bugku Misc论剑 第一步:在winhex里分析 发现文件头有两个 两个jpg文件中间还有一段二进制码 在kali里分离出两个一样jpg图片,但是没有什么发现 二进制码解出来也没有flag ...
随机推荐
- 10.10 traceroute:追踪数据传输路由状况
traceroute命令 用于显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况.默认数据包大小是60字节(IPv4)或80字节(IPv6),用户可另行设置.它与Windows下的trace ...
- 常用数据库连接池配置及使用(Day_11)
世上没有从天而降的英雄,只有挺身而出的凡人. --致敬,那些在疫情中为我们挺身而出的人. 运行环境 JDK8 + IntelliJ IDEA 2018.3 优点: 使用连接池的最主要的优点是性能.创 ...
- lua table的遍历
--ordered table iterator sorted by key function pairsByKeys(t) local a = {} for n in pairs(t) do a[# ...
- GStreamer跨平台多媒体框架
GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...
- 编写HSA内核
编写HSA内核 介绍 HSA提供类似于OpenCL的执行模型.指令由一组硬件线程并行执行.在某种程度上,这类似于 单指令多数据(SIMD)模型,但具有这样的便利:细粒度调度对于程序员而言是隐藏的,而不 ...
- 使用Keil语言的嵌入式C编程教程(下)
使用Keil语言的嵌入式C编程教程(下) 用8051单片机进行定时器/计数器的计算与编程 延迟是应用软件开发中的重要因素之一.然而,在实现定时延迟的过程中,正常的延迟并不能给出克服这一问题的宝贵结果. ...
- 快手推荐系统及 Redis 升级存储
快手推荐系统及 Redis 升级存储 借傲腾 补上 DRAM 短板 内容简介: 作为短视频领域的领先企业,快手需要不断导入更先进的技术手段来调整和优化其系统架构,以应对用户量和短视频作品数量的爆炸式 ...
- P1522 [USACO2.4]牛的旅行 Cow Tours(Floyd)
题目描述 Farmer John 的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,Farmer Joh ...
- 1、java语言概述
Java基础知识图解 软件开发 软件开发 软件,即一系列按照特定顺序组织的计算机数据和指令的集合.有系统软件和应用软件之分. 人机交互方式 图形化界面(Graphical User Interface ...
- 【NX二次开发】分析曲线某位置的信息 UF_MODL_ask_curve_props
分析曲线某位置的信息:点.切线.主副法线.半径等 extern DllExport void ufsta(char *param, int *returnCode, int rlen) { UF_in ...