你了解base么?1 解题

news/2024/9/28 12:20:06

CTF 你了解base么?1 解题

题目:CTF 你了解base么?1  
题目内容:在数据的深海里,我探寻Base的奥秘,
如星辰般闪烁,是信息的集结地。
代码编织的网,捕捉着数据的踪迹,
Base,你是数据的港湾,是智慧的基石。字符串的舞蹈,在Base中跃动,
二进制、十六进制,变幻着节奏。
你不仅仅是存储,更是转化的桥梁,
将繁杂的信息,化为简洁的符号。

img

附件及解题代码见文尾下载链接

解题思路及步骤

1.利用在线工具“CyberChef”进行base64解码

解压压缩包晨的文件用记事本打开,发现有不少行的未尾有“=”,猜测这应该是base64编码,打开在线转码工具网站:https://cyberchef.org/,选择“From Base64”,拖入Recipe区中,得到如下:

img

发现是用python编写的加密脚本。整理成python代码如下:

#!/usr/bin/env python
#  -*- coding: utf-8 -*-
import base64
import sys
#I'm so upset.
#You can't encrypt without code
#The answer can be decrypted
#I'm sure the code won't beat you
#There's a lot of crap in it
#I can't send it. It's too hard and it's not
#Look for it
#我很难过。
#没有代码就无法加密
#答案可以被解密
#我相信代码不会打败你
#里面有很多垃圾
#我发不出去。这太难了,但事实并非如此
#寻找它
def str_to_hex(s): str = r"/x" xxx = [hex(ord(c)).replace('0x', '') for c in s]str += r'/x'.join(xxx)return str #I am an encryption#我是一个加密
def base(s):return base64.b64encode(s)#I am an encryption# #Can you find the flag?#我是一个加密#你能找到那面旗帜吗?
if __name__ == "__main__":flag = ""    flag = str_to_hex(flag)   flag = flag.encode("utf-8")    flag = base(flag)
# flag=b'L3g2Ni94NmMveDYxL3g2Ny94N2IveDM4L3gzMi94MzEveDMxL3gzMS94MzEveDYzL3gzNS94MzQveDYxL3g2Ni94MzYveDM1L3g2MS94NjQveDY0L3gzNS94MzEveDM1L3g2My94MzgveDM3L3gzMi94NjEveDY0'
#A few words in water Otherwise, it can't be encrypted
#One more sentence is needed
#by Mogic
#Is there a bracket
#几个字在水里,否则无法加密。还有一句是魔术需要的,有括号吗

2.将解码得到的flag后引号里的编码进行“base64解码+HEX解码”

提取flag后面引号里的内容,再次用From Base64转码,得到如下:
img

/x66/x6c/x61/x67/x7b/x38/x32/x31/x31/x31/x31/x63/x35/x34/x61/x66/x36/x35/x61/x64/x64/x35/x31/x35/x63/x38/x37/x32/x61/x64

分析应该是16进制码,使用“From Hex”得到如下代码:
flag{821111c54af65add515c872ad

img

看到了flag,只是缺一个右花括号,添上后,提交flag,提示错误

于是,开始研究前面得到的python代码,试图通过这个编码脚本修改解码脚本,但始终没有找到右花括号。一直卡在这里很长时间没头绪。

3.验证并确认附件里的base64文本有隐写

没办法,只有到脚本中的英文注释寻找蛛丝马迹,由于英文不好,还利用工具翻译成了中文。发现里面有两句有暗示:

没有代码就无法加密
几个字在水里,否则无法加密。还有一句是魔术需要的,有括号吗

刚刚练习过base64的隐写题目,掌握的解题办法只有通过脚本最好使。
关于base64隐写的文章见:
base64隐写原理[https://www.cnblogs.com/ZhouJiaHao/p/14512711.html]

验证base64编码里有没有隐写最好的办法,就是解码后,再用得到的明文再编码,核对前后两个编码中“=”等号前的字符是否一样,如不一样,说明有隐写。只有=的编码才有隐写空间,于是找了一行有=的编码:

ICAgIGZsYWcgPSBmbGFnLmVuY29kZSgidXRmLTgiKd==

解码后得到:

    flag = flag.encode("utf-8")

img

再将解码得到的文本编码,得到:

ICAgIGZsYWcgPSBmbGFnLmVuY29kZSgidXRmLTgiKQ==

两行一对比,发现=前的字符不一样,一行是“d”,另一行是“Q”,其它的都一样,说明有隐写。
img

4.用python脚本解密隐写内容

既然有隐写,那就有戏了。
急忙找来前一篇博文(网址:https://www.cnblogs.com/bcd589/p/18241224) 写的python脚本,把附件att中文本复制装进“flag_encode.txt”文件,运行脚本,得到如下结果:

73fe83}

img

终于找到了flag的后面部分

5.拼接前后两部分,形成完整flag

flag的后面部分,与前半部分拼接在一起,该题的flag就出来了。
flag{821111c54af65add515c872ad73fe83}

6.源码下载

附件:链接:https://pan.baidu.com/s/1bV05iusdwTFgPJfG1mqxpg?pwd=srts
提取码:srts

也可以用手机扫码下载:
img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/47314.html

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

相关文章

NVIDIA Broadcast+普通麦克风+ai

关于 NVIDIA Broadcast NVIDIA Broadcast 通过 AI 的强大功能将标准网络摄像头和麦克风升级为高级智能设备,将任何房间转变为家庭工作室。通过麦克风噪声和房间回声消除、虚拟背景、网络摄像头自动取景和视频噪声消除等 AI 功能提高直播的视频和音频质量。借助 NVIDIA RTX GPU…

计算机的基本组成及其工作原理

计算机的基本组成及其工作原理 1.1 计算机系统的组成 计算机系统是由硬件系统和软件系统两大部分组成。 计算机硬件是构成计算机系统各功能部件的集合。是由电子、机械和光电元件组成的各种计算机部件和设备的总称,是计算机完成各项工作的物质基础。计算机硬件是看得见、摸得着…

【安全服务系列】企业源代码安全审计工作这个锅应该由谁来背?

随着应用系统安全技术越来越受业主和承建方(甲方)的重视,对于源代码安全审计层面是进行安全漏洞的防范,避免产生所谓的“0-day”漏洞,现在已是所有提测客户的共识,已经形成了一种共鸣,成为构建软件安全保障体系中的必备环节。但也常常听到有人抱怨“源代码安全审计很难开…

只需要一份Yaml文件,即可实现UI自动化

Pytest + Selenium/Appium + Yaml + allure 实现的UI自动化测试框架使用环境allure-pytest==2.13.5 Appium-Python-Client==4.0.0 Faker==25.8.0 Jinja2==3.1.4 PyMySQL==1.1.1 pytest==8.2.2 pytest-xdist==3.6.1 PyYAML==6.0.1 selenium==4.21.0实现逻辑初始驱动,返回 drive…

React18

React18 + Redux9 + ReactRouter6 + TypeScript0x01 React 基础 (1)概述React 框架由 Meta(原 Facebook)研发并发布 用于构建 Web 和原生交互界面的库 优点:使用组件化的开发方式,性能较优 具有丰富生态,并且支持跨平台(2)创建开发环境 a. 第一个工程需要提前安装并配…

7-Zip

最牛掰的解压缩的开源软件!赏!!!!概述 7-Zip 是一款免费开源的文件归档和压缩软件,由于其高压缩比和支持多种格式等优势,越来越受到用户的青睐。7-Zip 最初由一位俄罗斯程序员开发,现已经成为全球领先的压缩软件之一。 作为开源免费的 7-Zip 解压缩工具,除了常见的压缩…

FQC外检机使用Profibus转Modbus网关提升工作效率

本文介绍了PLC通过Profibus转Modbus网关(XD-MDPB100)与视觉传感器实现通讯,在FQC外检机中提升自动化和检测效率。控制器通过Profibus转Modbus网关(XD-MDPB100)与视觉传感器实现通讯,在FQC外检机的应用为生产流程的自动化和优化提供了重要支持。在工业自动化领域,PLC常被…

Flutter 借助SearchDelegate实现搜索页面,实现搜索建议、搜索结果,解决IOS拼音问题

使用Flutter自带的SearchDelegate组件实现搜索界面,通过魔改实现如下效果:搜素建议、搜索结果,支持刷新和加载更多,解决IOS中文输入拼音问题。搜索界面使用Flutter自带的SearchDelegate组件实现,通过魔改实现如下效果:搜素建议 搜索结果,支持刷新和加载更多 IOS中文输入…