当前位置: 首页 > news >正文

BugkuCTF-Crypto(1-5)

题:抄错的字符

题目作者: Aman
题目描述:老师让小明抄写一段话,结果粗心的小明把部分数字抄成了字母,还因为强迫症把所有字母都换成大写。你能帮小明恢复并解开答案吗:QWIHBLGZZXJSXZNVBZW

分析:

  • 数字和字符可能的转换:l-1, s-5, b-6, z-2, B-8, G-9

1 : l(小写L)、I(大写i)
2 : Z/z
5 : S/s
8 : B
9 : g
0 : O/o

尝试还原字符串,进行base64解码

from base64 import b64decode
from string import printable# 字母数字对应表
Numlist = {'i': '1', 'l': '1', 'z': '2', 's': '5', 'g': '9', 'o': '0'}# 分割字符串
def cut(obj, sec):return [obj[i:i + sec] for i in range(0, len(obj), sec)]# 使用递归将字符串还原回所有可能的结果
def decode(str):res = []if len(str) > 1:relist = decode(str[1:])Rlist = decode(str[0])for i in Rlist:for j in relist:res.append(i + j)else:res.append(str[0].lower())res.append(str[0].upper())if str[0].lower() in Numlist:res.append(Numlist[str[0].lower()])return res# 判断base解码后是否是正常的字符
def isbase(str):res = b64decode(str)for i in res:if i not in printable.encode():return Falsereturn Trueif __name__ == '__main__':enstr = 'QWIHBLGZZXJSXZNVBZW'# base64可以切片分别解码,减少运算数量enlist = cut(enstr, 4)flag = []for i in enlist:delist = decode(i)f = []for base in delist:base += '=' * (4 - len(base))  # 填充=if isbase(base):# print(base, end=',')f.append(b64decode(base).decode())flag.append(f)print(f)

在这里插入图片描述
所以结合作者的名字,flag{Aman_very_cool}

题:/.-

题目描述: …-./.-…/.-/–./----.–/-…/…–/…-./-.-./-…/…-./.----/–…/…-./----./…–/----./----./…/-----/…-/-----.-

分析:
点横推测是摩斯密码
在这里插入图片描述得到flag{d3fcbf17f9399504}

题:聪明的小羊

题目描述:一只小羊翻过了2个栅栏 fa{fe13f590lg6d46d0d0}

分析:
根据提示为栅栏密码
在这里插入图片描述
代码为:

import sys
def fence_Passwd_burst(secret):res = [step for step in range(2, len(secret)) if len(secret)%step == 0]for step in res:flag = ''#获取解密结果,以step栏进行遍历获取解密后的flagfor i in range(step):flag += secret[i::step]print('第%s栏: 解密结果:%s' %(str(step), flag))
if(__name__ == '__main__'):secret ="fa{fe13f590lg6d46d0d0}"fence_Passwd_burst(secret)

得到flag{6fde4163df05d900}

题:ok

描述: Ook.
附件里面全是该字符:
在这里插入图片描述
使用在线工具解密:https://www.splitbrain.org/services/ook
在这里插入图片描述

题:[±<>]

题目描述: +++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.< ++++[ ->+++ +<]>+ +++.< +++++ +++[- >---- ----< ]>— ----- —.< +++++ ++[-> +++++ ++<]> +++.< +++++ +[->- ----- <]>-- ----- -.–. ----. --.++ +++++ +.<++ ++++[ ->+++ +++<] >++++ +.++. <++++ ++[-> ----- -<]>- ----- ----. -.<++ +++++ [->++ +++++ <]>+. ----. ++++. <++++ +++[- >---- —<] >---- .+.<+ +++++ ++[-> +++++ +++<] >++++ +++++ ++.<

使用在线工具解密:https://ctf.bugku.com/tool/brainfuck
在这里插入图片描述

相关文章:

  • 102.沉没孤岛
  • (七)glDrawArry绘制
  • Redis深度解析:核心数据类型与键操作全攻略
  • UI还原度小技巧之缩放
  • 香橙派AIpro开发板评测:部署yolov5模型实现图像和视频中物体的识别
  • Websocket通信实战项目(图片互传应用)+PyQt界面+python异步编程(async) (上)服务器端python实现
  • Java增加线程后kafka仍然消费很慢
  • 如何说服技术老大用 Redis ?
  • FFmpeg 硬件编码加速文档介绍
  • 数据库之SQL(二)
  • uniapp实现图片懒加载 封装组件
  • qt QTreeWidget文件管理器拖入应用,从应用拖入文件管理器拷贝
  • VMware中的三种虚拟网络模式
  • 交换机基本原理
  • 使用 Selenium 实现自动化分页处理与信息提取
  • 【面试系列】之二:关于js原型
  • echarts的各种常用效果展示
  • echarts花样作死的坑
  • JavaScript 一些 DOM 的知识点
  • jquery ajax学习笔记
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Laravel 中的一个后期静态绑定
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • 百度地图API标注+时间轴组件
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 如何在GitHub上创建个人博客
  • 首页查询功能的一次实现过程
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 网页视频流m3u8/ts视频下载
  • nb
  • 如何在招聘中考核.NET架构师
  • !$boo在php中什么意思,php前戏
  • #window11设置系统变量#
  • #数学建模# 线性规划问题的Matlab求解
  • (bean配置类的注解开发)学习Spring的第十三天
  • (NSDate) 时间 (time )比较
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)大型网站的系统架构
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ./configure,make,make install的作用(转)
  • .Net 8.0 新的变化
  • .NET CORE Aws S3 使用
  • .net 托管代码与非托管代码
  • .NET性能优化(文摘)
  • .net中我喜欢的两种验证码
  • @Autowired @Resource @Qualifier的区别
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @Import注解详解
  • @Resource和@Autowired的区别
  • @Service注解让spring找到你的Service bean
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [1204 寻找子串位置] 解题报告
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)