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 ...
随机推荐
- Linux下安装JDK 1.8你必须知道的糟心事
来源:Atstudy网校 1.简介 在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还的一个一个的摸索尝试,而且网上大多数都是一些Or ...
- minikube与kubectl版本不一致问题
在使用minikube学习的时候,会出现你在mac上安装的minikube默认是最新版本,但是实际情况是需要安装低一些版本.可以按照k8s官方文档安装的时候指定不同安装版本,如果很慢或者无法访问直接走 ...
- 如何实现一个简易版的 Spring - 如何实现 AOP(中)
前言 在上篇 如何实现 AOP(上) 介绍了 AOP 技术出现的原因和一些重要的概念,在我们自己实现之前有必要先了解一下 AOP 底层到底是如何运作的,所以这篇再来看看 AOP 实现所依赖的一些核心基 ...
- unity中UI坐标转3d世界坐标
方法: public static Vector3 UIScreenToWorldPoint(Vector3 uiPostion) { uiPostion = UICamera.mainCamera. ...
- 西门子 S7300 以太网模块连接组态王方法
北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...
- 游刃于私有网络与公共网络之间的NAT
网络地址转化技术NAT 1. 应用场景 2. NAT 2.1 静态NAT 2.2 动态NAT 2.3 NAPT 2.4 EASY IP 3. NAT配置 3.1 静态NAT 3.2 动态NAT 3.3 ...
- MMF的初步介绍:一个规范化的视觉-语言多模态任务框架
在VQA, Image Caption等任务中,构建模型是一件工作量较大的工作.有没有什么能减少这些重复的工作量呢?与此同时,Pytorch,tensorflow等开源的深度学习工具包发布,大大减少了 ...
- Go基础结构与类型05---程序运算
package main import ( "fmt" "math" ) func main() { /*加减乘除,求余*/ fmt.Println(" ...
- Processing平台之PVector求角度
问题:在processing 平台,通过给定三个PVector向量,如何求他们之间的夹角,同时确定是在左侧还是右侧? 如图所示,在processing 平台中,PVector表示点的坐标是以原点为起点 ...
- Go timer 是如何被调度的?
hi,大家好,我是 haohongfan. 本篇文章剖析下 Go 定时器的相关内容.定时器不管是业务开发,还是基础架构开发,都是绕不过去的存在,由此可见定时器的重要程度. 我们不管用 NewTimer ...