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

NewStarCTF2023week2-base!(base低位隐写)

附件内容是很多的base64编码的字符串

常见的Base64隐写一般会给一个txt文本文档,内含多个经过base64编码的字符串。解码规则是将所有被修改过的base64字符串结尾的二进制值提取出来组成一个二进制串,以8位分割并转为十进制值,最终十进制对应的ASCII字符串即为base64隐写结果。 

这里附上解密脚本:

# base64隐写
import base64import base
def get_diff(s1, s2):base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'res = 0for i in range(len(s2)):if s1[i] != s2[i]:return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))return resdef b64_stego_decode():file = open("base.txt","rb")x = ''                                      # x即bin_strlines =  file.readlines()for line in lines:l = str(line, encoding = "utf-8")stego = l.replace('\n','')#print(stego)realtext = base64.b64decode(l)#print(realtext)realtext = str(base64.b64encode(realtext),encoding = "utf-8")#print(realtext)diff = get_diff(stego, realtext)        # diff为隐写字串与实际字串的二进制差值n = stego.count('=')if diff:x += bin(diff)[2:].zfill(n*2)else:x += '0' * n*2i = 0flag = ''while i < len(x):if int(x[i:i+8],2):flag += chr(int(x[i:i+8],2))i += 8print(flag)if __name__ == '__main__':b64_stego_decode()

这里顺便说一个问题,不要将脚本命名为base64.py !

否则会报错:module 'base64' has no attribute 'b64decode'

运行得到:

iDMb6ZMnTFMtFuouYZHwPTYAoWjC7Hjca8

将结果放入随波逐流,发现是base58

 flag{b4se_1s_4_g0od_c0d3}

http://www.lryc.cn/news/194534.html

相关文章:

  • 众和策略:国际油价走高,石油板块强势拉升,通源石油、和顺石油等涨停
  • C++笔记之获取线程ID以及线程ID的用处
  • 机器人硬件在环仿真:解决实体开发与测试挑战,提升效率与安全性
  • stream()
  • VBA之正则表达式(43)-- 从网页中提取指定数据
  • Elucidating the Design Space of Diffusion-Based Generative Models 阅读笔记
  • 计算机网络 | 传输层
  • Android 13 隐私权限和安全变更之通知
  • docker-compose安装和使用(自启、redis、mysql、rabbitmq、activemq、es、nginx、java应用)
  • dll文件缺失,ps,pr无法打开,游戏运行不了如何解决
  • 前后端数据导入导出Excel
  • RackNerd 圣何塞 VPS 测评
  • php74 安装sodium
  • 优思学院:想成为质量工程师?了解质量工程师职责和能力是关键!
  • Rollup failed to resolve import
  • 基于VScode 使用plantUML 插件设计状态机
  • 2023年中国汽车智能工厂市场规模不断增大,智能化已成趋势[图]
  • cola架构:一种扩展点的实现思路浅析
  • Thread常用API
  • 系列九、Redis的发布订阅
  • 《TypeScript》系列之对比JavaScript,TypeScript的优势
  • Notepad++使用技巧
  • React 中报Type error: Could not find a declaration file for module ‘qs‘.(已解决)
  • 【Linux】:Linux环境与版本
  • PNG转EPS,包括Latex导入
  • Visual Studio 2022 cmake编译 PP-OCRv4
  • 学习笔记|串口与PC通信的接线|移植驱动程序|串口通信实战|STC32G单片机视频开发教程(冲哥)|第二十一集(上):串口与PC通信
  • 关于Mybaits缓存....
  • Vue axios调用springboot接口获取数据库数据并显示到网页
  • 12-bean创建流程3