NewStarCTF2023week2-base!(base低位隐写)

news2024/11/27 4:33:17

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

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

这里附上解密脚本:

# base64隐写
import base64

import base
def get_diff(s1, s2):
    base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
    res = 0
    for i in range(len(s2)):
        if s1[i] != s2[i]:
            return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
    return res


def b64_stego_decode():
    file = open("base.txt","rb")
    x = ''                                      # x即bin_str
    lines =  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*2
            
    i = 0
    flag = ''
    while i < len(x):
        if int(x[i:i+8],2):
            flag += chr(int(x[i:i+8],2))
        i += 8
    print(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.coloradmin.cn/o/1097012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

scitb5函数1.7版本(交互效应函数P for interaction)发布----用于一键生成交互效应表、森林图

在SCI文章中&#xff0c;交互效应表格&#xff08;通常是表五&#xff09;能为文章锦上添花&#xff0c;增加文章的信服力&#xff0c;增加结果的可信程度&#xff0c;还能进行数据挖掘。 交互效应表我在既往文章《R语言手把手教你制作一个交互效应表》已经介绍怎么制作了&…

用例图中的各种关系

一、用例图中的各种关系 a&#xff09;参与者与用例间的关联关系&#xff1a;参与者与用例之间的通信&#xff0c;也成为关联或通信关系。 b&#xff09;用例与用例之间的关系&#xff1a;包含关系&#xff08;include&#xff09;、扩展关系&#xff08;extend&#xff09;、泛…

ND协议——无状态地址自动配置 (SLAAC)

参考学习&#xff1a;计算机网络 | 思科网络 | 无状态地址自动配置 (SLAAC) | 什么是SLAAC_瘦弱的皮卡丘的博客-CSDN博客 与 IPv4 类似&#xff0c;可以手动或动态配置 IPv6 全局单播地址。但是&#xff0c;动态分配 IPv6 全局单播地址有两种方法&#xff1a; 如图所示&#…

内存占用问题

虚拟内存介绍 虚拟内存就是将部分磁盘变成内存的拓展&#xff0c;用上去就好像是将内存变大了一样。 比如同样是16G的物理内存&#xff0c;有人能比你多开几个应用&#xff0c;你开两三个就要黑屏&#xff0c;然后浏览器说你内存不够。 打开任务管理器&#xff0c;内存也没有…

盛元广通矿企煤炭检测实验室信息管理系统3.0

系统概述&#xff1a; 为更好的为委托方提供准确可靠的检测数据和检测结果&#xff0c;全方位提升实验室形象和客户满意度、提高实验室整体经济效益&#xff1b;确保煤炭检测实验室数据的完整性、合法性、可追溯性以及提升实验室的技术和管理水平&#xff0c;盛元广通矿企煤炭…

ROS系列(二):rosbag 中提取视频数据

一、环境安装 当前环境在上一篇文章的基础上进行配置。 ROS系列&#xff08;一&#xff09;&#xff1a;【环境配置】rosbag 包安装_安装rosbag-CSDN博客 继续安装 sudo apt install ffmpeg python 包如下 pip install sensor_msgs --extra-index-url https://rospypi.gi…

ASP.NET LIMS系统全套源码(演示+自主版权+项目使用)

基于ASP.NET Dotnet 3.5 EXT.NETMSSQL 2018技术架构开发的LIMS系统全套源码&#xff08;演示自主版权项目使用&#xff09; LIMS是为检测组织全流程业务设计的。以实验室为中心&#xff0c;将实验室的业务流程、环境、人员、仪器设备、标物标液、化学试剂、规范办法、图书资料、…

[C++]:1.初识C++和C语言缺陷补充。

初识C和C语言缺陷补充 一.主要内容&#xff1a;二.具体内容&#xff1a;一&#xff1a; 作用域1.命名空间&#xff1a;2.函数声明和定义&#xff1a;3.不存在命名冲突的情况&#xff1a; 二.输入输出&#xff1a;1.基本输入输出&#xff1a;2.关于std的展开&#xff1a; 三.函数…

Docker逃逸---SYS_PTRACE浅析

一、产生原因 用户授予了容器SYS_PTRACE权限&#xff0c;并且与宿主机共享一个进程命名空间(--pidhost)&#xff0c;使得容器内可以查看到宿主机的进程&#xff0c;攻击者可以利用进程注入&#xff0c;反弹shell&#xff0c;从而实现逃逸 二、利用条件 1、容器有SYS_PTRACE权…

解决安装nvm以后windows cmd无法找到npm/yarn命令的问题

安装了nodejs多版本管理工具nvm以后&#xff0c;会出现windows cmd无法找到npm/yarn命令的问题 只要一运行npm/yarn就会提示&#xff1a;不是内部命令&#xff0c;找不到运行路径之类的。 解决办法&#xff1a;首先打开windows环境变量的配置&#xff0c;查看NVM_SYMLINK指向…

55 零钱兑换

零钱兑换 题解1 DP另一种解法(更好记) 题解2 递归 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额&#xff0c;返回…

点赞“美丽南苑人”㉒ | 施晨阳:以青春之名 赴亚运之约

为积极培育和践行社会主义核心价值观&#xff0c;引导和激励辖区群众学习身边先进典型的道德品质和价值追求&#xff0c;进一步发挥“美丽人物”的典型示范和带动引领作用&#xff0c;南苑街道开启“点赞‘美丽南苑人’”专栏&#xff0c;向大家讲述“美丽南苑人”的故事&#…

选择共享wifi项目哪个公司好?!

当今社会&#xff0c;无线网络成为了人们生活中必不可少的一部分。在日常生活中&#xff0c;我们可能会遇到寻找WiFi的情况&#xff0c;共享WiFi逐渐成为人们越来越常用的网络连接方式&#xff0c;随着共享WiFi服务商的不断增多&#xff0c;创业者如何如何挑选和判断哪家共享Wi…

金融考研人通向成功的快速通道——中国人民大学与加拿大女王大学金融硕士

在金融行业中&#xff0c;有这样一个中外合作办学硕士&#xff0c;它成为了很多金融考研人通向成功的快速通道。它免全国联考&#xff0c;学制一年&#xff0c;无英语要求&#xff0c;看到这里&#xff0c;王老师壹柒叁壹陆壹久领悟刘玲&#xff0c;很多同学是不是已经猜到了&a…

PNG转EPS,包括Latex导入

在电脑TEXLIVE文件夹里中找到bmeps.exe TEXLIVE\2022\bin\win32 可以新建一个文件夹picture&#xff08;图片和exe文件必须在一个文件夹里&#xff09;&#xff0c;将bmeps.exe复制出来&#xff0c;方便后续大量图片操作 导入png图片 新建一个txt文件&#xff0c;命名为Fig1.…

php74 安装sodium

下载编译安装libsodium wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable.tar.gz tar -zxf libsodium-1.0.18-stable.tar.gz cd libsodium-stable ./configure --without-libsodium make && make check sudo make install下载编译安装…

【Redis】高效保障MySQL和Redis的数据一致性?

高效保障MySQL和Redis的数据一致性? 在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。根据网上的众多解决方案,总结出 6 种,直接看目录: 不好的方案 1、先写 MySQL,再写 Redis 如图所示: 这是一副时序图,描述请求的先后调用顺序; 橘黄…

Macos数据库管理:Navicat Premium 中文

Navicat Premium提供了直观且易用的图形用户界面&#xff0c;使得操作更为便捷。Navicat Premium 中文支持多种数据库系统&#xff0c;如MySQL、MariaDB、Oracle、SQLite、PostgreSQL等&#xff0c;可以让用户在同一平台上管理不同类型的数据库。Navicat Premium拥有强大的数据…

BUUCTF学习(四): 文件包含tips

1、介绍 2、hackBar插件安装 教程&#xff1a; Hackbar插件安装-CSDN博客 3、解题 php://filter/readconvert.base64-encode/resource要读取的文件 ?filephp://filter/readconvert.base64-encode/resourceflag.php Base64 在线编码解码 | Base64 加密解密 - Base64.us 结束

剑指offer(C++)-JZ50:第一个只出现一次的字符(算法-其他)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 在一个长为 字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1&#xff08;需要区分…