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'&#x00\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上半部分汇总的更多相关文章

  1. bugku Crypto 下半部分wp

    1. 百度托马斯这个人居然还发明了一种轮转的加密法,发现原理是,他将很多行乱序的26个字母,插到一根柱子上,参考糖葫芦的样子,可以旋转每一行,设置自己要发送的明文后,向对方发送乱码的一列,对方只要将这 ...

  2. bugku crypto easy-crypto

    长度不一的01字符串 就要考虑是不是摩斯密码 用这个py脚本: from __future__ import print_function a = input("input the stri ...

  3. bugku crypto 告诉你一个秘密(ISCCCTF)

    emmmm....有点坑 题目: 636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A57 ...

  4. bugku - pwn wp

    一. PWN1 题目:nc 114.116.54.89 10001 1.  直接kali里面跑nc 2.ls看看有啥 3.明显有一个flag cat查看一下 搞定 二 . PWN2 题目:给了nc 1 ...

  5. 2021羊城杯比赛复现(Crypto)

    bigrsa 题目: from Crypto.Util.number import * from flag import * n1 = 10383529640908175186077053551474 ...

  6. BUUCTF Crypto

    BUUCTF 几道crypto WP [AFCTF2018]Morse 简单的莫尔斯密码,最直观的莫尔斯密码是直接采用空格分割的点和划线,这题稍微绕了一下使用的是斜杠来划分 所以首先将斜杠全部替换为空 ...

  7. BUUCTF Crypto_WP(2)

    BUUCTF Crypto WP 几道密码学wp [GXYCTF2019]CheckIn 知识点:Base64,rot47 下载文件后,发现一个txt文件,打开发现一串base64,界面之后出现一串乱 ...

  8. bugku 密码学一些题的wp

    ---恢复内容开始--- 1.滴答滴 摩斯密码,http://tool.bugku.com/mosi/ 2.聪明的小羊 从提示猜是栅栏密码,http://tool.bugku.com/jiemi/ 3 ...

  9. WP | BUGKU 论剑

    题目:bugku Misc论剑 第一步:在winhex里分析 发现文件头有两个 两个jpg文件中间还有一段二进制码 在kali里分离出两个一样jpg图片,但是没有什么发现 二进制码解出来也没有flag ...

随机推荐

  1. mariadb10安装

    Red Hat Enterprise Linux/CentOS 7.0 发行版已将默认的数据库从 MySQL 切换到 MariaDB 添加安装源或是从官网下载安装包https://downloads. ...

  2. 第11讲 | TCP协议(上):因性恶而复杂,先恶后善反轻松

    第11讲 | TCP协议(上):因性恶而复杂,先恶后善反轻松 TCP 包头格式 我们先来看 TCP 头的格式.从这个图上可以看出,它比 UDP 复杂得多. 首先,源端口号和目标端口号是不可少的,这一点 ...

  3. opencv——自适应阈值Canny边缘检测

    前言 Canny边缘检测速度很快,OpenCV中经常会用到Canny边缘检测,以前的Demo中使用Canny边缘检测都是自己手动修改高低阈值参数,最近正好要研究点小东西时,就想能不能做个自适应的阈值, ...

  4. node.js学习(2)函数

    1 简答函数 2 匿名函数 3 回调函数

  5. 深入浅出Promise

    Abstract Promise的意思是承诺(在红宝书中翻译为期约),新华字典:(动)对某项事务答应照办. Promise最早出现在Commn JS,随后形成了Promise/A规范. Promise ...

  6. CodeGen融合核心关系循环扩展

    CodeGen融合核心关系循环扩展 Expansion Tokens <HARMONYCORE_RELATION_NAME> 插入当前关系的名称.关系名称将自动生成,但可以由Harmony ...

  7. Autofac入门

    注意:本文为原创文章,任何形式的转载.引用(包括但不限于以上形式)等,须先征得作者同意,否则一切后果自负. 简介 Autofac 是一个令人着迷的.NET IoC 容器. 它管理类之间的依赖关系.当应 ...

  8. jmeter--JSON Extractor 用法

    JMeter处理大部分请求返回的结果,都是json.对于请求返回的结果,处理以后作为其他请求的参数,有一个方便使用的插件:JSON Extractor JSON Extractor中文叫做json提取 ...

  9. 【SQLite】教程07-C/C++上使用SQLite3

    1.配置好C/C++项目环境 2.源码 1 #include <iostream> 2 #include <vector> 3 #include <string> ...

  10. MySQL的Limit 性能差?真的不能再用了?

    首先说明一下MySQL的版本: mysql> select version();+-----------+| version() |+-----------+| 5.7.17 |+------- ...