BugkuCTF-Reverse题特殊的Base64
知识点
换表的base64特点:
1.出现64个字节的字符串(其实应该叫做表)作为数组取值,并且(经常,不是一定)出现“/”和“+”符号
2.=作为补位,体现为对3求余(%3)
Base64 字典表顺序
Ida打开F5找到加密的,点开basekey
解题流程
无壳
一看这个就知道base64的码表肯定被改了,然后拖进ida一看
用ida64打开。
基本都是构造函数和析构函数,其里一个最显眼的是查找一下
base64Encode(&result);,base64 的码表估计就藏在里面
看了这个&unk_489084
方法一:
下面有个码表,一看就是base64 的,好了,上工具
http://web.chacuo.net/netbasex
得到flag{Special_Base64_By_Lich}
方法二:
盲猜是换表的base64,脚本处理。
贴出脚本
import base64
import stringstr1 = "mTyqm7wjODkrNLcWl0eqO8K8gc1BPk1GNLgUpI==" #str1是要解密的代码
string1 = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0987654321/+" #string1是改过之后的base64表
string2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
print (base64.b64decode(str1.translate(str.maketrans(string1,string2))))"""
str() 函数将对象转化为适于人阅读的形式。Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示
转换的目标。
注:两个字符串的长度需相同,为一一对应的关系。
maketrans()方法语法:str.maketrans(intab, outtab)
返回值:返回字符串转换后生成的新字符串。str.maketrans()方法接受一个或两个参数, 返回一个字典(字典的 key 和 value 均用unicode编码)
1.接受两个参数:str.maketrans(str1, str2)
str1, str2均为字符串, 将 str1 和 str2 的元素按次序关系构造成字典, 字典的 key 和 value 均用unicode编码.
intable = "aeiou"
outtable = "12345"
trantab = str.maketrans(intable, outtable)
返回trantab: {97: 49, 101: 50, 105: 51, 111: 52, 117: 53}
2.接受一个参数:str.maketrans(dict1)
dict1 为一个字典, 返回一个字典(字典的 key 和 value 均用unicode编码).
parentheses_table = str.maketrans({"(": None, ")": None})
parentheses_table: {40: None, 41: None}Python translate() 方法根据 maketrans() 方法给出的字符映射转换表转换字符串里的字符。
返回根据 maketrans() 方法给出的字符映射转换表转换后的字符串。
"""
flag{Special_Base64_By_Lich}
BugkuCTF-Reverse题特殊的Base64相关推荐
- BugkuCTF-Crypto题一段Base64
解此题需要下载Converter工具 先Base64解码 再Unescape一下 再16进制ASCII解码一下 再Unescape一下 复制括号里面的参数,再10进制ASCII解码一下 再Html解码 ...
- BugkuCTF刷题 pwn
唉,觉得自己TCL,栈溢出知识点差不多都会了,可是题目做不出来啊啊啊啊!缺少锻炼吧,这两天把BugkuCTF上面的pwn题做一下吧... pwn1 只给了连接 第一次,才50分,想来不会太难,连上去 ...
- 20220207-CTF-MISC-第11题--- base64隐写--附带脚本
攻防世界- MISC新手区–第11题–base64隐写 下载之后解压,是stego.txt 打开stego.txt 显然是base64编码之后的结果,base64解码,我还百度翻译了一下,也没什么发现 ...
- BugkuCTF Writeup——Web
文章目录 web2 计算器 web基础$_GET web基础$_POST *矛盾 web3 域名解析 你必须让他停下 *本地包含 *变量1 web5 头等舱 网站被黑 *管理员系统 web4 flag ...
- 攻防世界杂项(misc)--新手练习区(详解十二道题完结,附件做题过程中使用到的各种工具和网站)
攻防世界杂项(misc)–新手练习区(详解) 第一题:this_is_flag 题目描述:Most flags are in the form flag{xxx}, for example:flag{ ...
- Misc 第七篇——base64stego(伪加密,base64隐写)
题目描述:菜狗经过几天的学习,终于发现了如来十三掌最后一步的精髓 附件给了一个压缩包,伪加密,使用360解压缩成功解压. 解压后是一个文本文件,如下图,使用base64加密的一堆字符串, 单纯使用ba ...
- 2.3 (reverse)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一. reverse练习题 1.1 Base64.exe 一. reverse练习题 1.1 Base64.exe 查壳,6 ...
- 攻防世界XCTF-MISC入门12题解题报告
MISC属于CTF中的脑洞题,简直就是信息安全界的脑筋急转弯.你说它渣,它也有亮点,不好评说.这块最亮眼的入门题就属隐写术,出题人骚的狠.但是我感觉未来其中一个重点,就是大数据安全,从海量流量中捕获恶 ...
- Day 1 BUUCTF——特殊的 BASE64 1
选择BUUCTF平台,因为题目丰富.难度低,适合入门. 首先,需要注册一个账号,然后就可以答题了. 第一题 特殊的 BASE64 1 0x1 下载题目附件 0x2 用Exeinfo PE 查壳 发现未 ...
最新文章
- 谈谈我对Manacher算法的理解
- 查询数据库中的表结构信息
- Web前端开发笔记——第三章 CSS语言 第七节 圆角边框、阴影
- 比较好的一些 ConcurrentHashMap讲解博客
- 服务器型号惠普RX3600,384854-B21 389344-001 146G SAS 15K 3.5寸HP服务器硬盘批发
- php html5 案例,35个非常好的HTML5+CSS3实例
- qt中如何刷新一下屏幕_感情维护:如何在恋爱关系中分开一下,然后更坚强地回来...
- 浅析MyBatis执行器原理
- 谷歌浏览器无法登陆百度贴吧
- 微信公众号推送模板消息(一):申请微信公众帐号测试号
- 抖音算法推荐机制详解(科普向)
- 苹果鼠标右键怎么按_iPadOS 鼠标支持详解
- 宏观调控利于粮食安全,调控与市场关系需理顺
- html用if函数,if函数怎么用的实例
- RoboCup GameController安装方法
- 码Ubuntu常用命令持续更新
- 华为入局商用市场:趋势使然,挑战颇多
- STM32F767多通道ADC采集+DMA传输
- Pippo已经不能只用超级来形容了
- SQL直接计算年龄问题