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

[WUSTCTF2020]B@se1

1.题目

密文:MyLkTaP3FaA7KOWjTmKkVjWjVzKjdeNvTnAjoH9iZOIvTeHbvD==
JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs****kxyz012789+/

上面一行是原始编码字符串,也就是密文,而下面一行包含base64的所有字符,所以本题应该是base64变表的题目,但是其中有四个字符未知,我们就把这四个字符找到才进行排列组合一共24种组合,最后查看所有结果找到flag即可

2.解题脚本

import base64
import itertools
import string
# 原始编码字符串(非标准 Base64)
str1='MyLkTaP3FaA7KOWjTmKkVjWjVzKjdeNvTnAjoH9iZOIvTeHbvD=='
# 自定义的 Base64 字符集(非标准顺序)
string1='JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs****kxyz012789+/'
#标准base64字符集
string2='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
s1='JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs'
s2='kxyz012789+/'
#寻找缺失的字符
miss=[]
for i in string2:if i not in string1:miss.append(i)
#排列组合找flag
for i in itertools.permutations(miss,4):s=s1+''.join(i)+s2print(base64.b64decode(str1.translate(str.maketrans(s, string2))))

flag{base64_1s_v3ry_e@sy_and_fuN}

http://www.dtcms.com/a/360306.html

相关文章:

  • 后向投影合成孔径辐射源定位方法(一)
  • Linux-数据库
  • MVC模式学习
  • 物种多样性与物种丰富度
  • 制造业生产线连贯性动作识别系统开发
  • 使用 Claude Code 与 Remotion 制作自定义动画视频的完整教程
  • 代码分析之符号执行技术
  • 多人协作开发指南二
  • 简化对齐训练:用明文对比数据SFT替代复杂DPO
  • 8针脚的1.8寸IIC接口的TFT彩屏的八个引脚都需要使用吗?
  • 【编号186】中国劳动统计年鉴(1991-2023)
  • LeetCode 2570.合并两个二维数组
  • 超越关键词:RAG系统如何破解用户查询的“模糊密码”
  • BLE广播与扫描
  • 嵌入式C学习笔记之预编译
  • Redis面试重点-2
  • Coze源码分析-工作空间-项目开发-前端源码
  • 在Windows系统Docker中使用wsl2、容器、windows文件路径三种不同挂载方式的区别和性能差异
  • ceph对象存储-存储池-用户认证
  • @Value注解的底层原理(一)
  • Day18 (前端:JavaScript基础阶段)
  • 数据结构 04(线性:双向链表)
  • Ansible 临时命令与常用模块实操指南
  • Cartographer中的gflag与lua文件
  • 国庆福建霞浦游
  • 阿里云创建自己的博客,部署wordpress
  • Java学习笔记-IO流(更新中...)
  • 嵌入式C学习笔记之链表
  • kkfileview自建cdn引入
  • 解决git push时的错误提示:“error: src refspec master does not match any”