base家族人丁兴旺,常见的有base16、base32、base64、base58、base62、base85、base91、base92、base100,在ctf中还有一些加密的组合,如zlib+base64,这是常用的网络通信的手段, zlib 压缩可以将字符串体积明显缩小(只有较长才能体现出来),而base64可以将刚刚压缩的二进制码变成可见字符,便于在语言中进行传递及网络通信。在ctf中,如果字符串可以使用base64解密,而解密后又有很多不可见字符,那就可能是zlib+base64的编码方式,对已经来临的intel 电脑,script boy也想让它替我思考,直接写递归爆破吧,如果是常见base加密,使用递归,不管加了多少次都能爆出来。
实现思路很简单,写一个basex的函数,通过递归调用这个函数,在递归中最重要的就是停止条件,如果没有停止条件就会出现栈溢出,如果python没有栈溢出检查,可以直接把电脑跑炸。
那么在basex函数中什么才是递归调用的终止条件呢?
-
函数报错
-
如果解密完后字符串为空
-
有不可见字符(base128除外,base128含有控制字符)
程序结构如下
程序使用pyinstaller打包好了,可以直接使用
贴入测试数据
QZZ|KQbjRRS8QZRQdCYwR4_DoQ7~jyO)*kPR90|UQ&li}QblA=S8PT|RclT~R8=)gR%>ipO)*kRR90|OQZZUZQblx6QEX&MQdV$PQ&lxoQfp*VS5{I^RcmlpQ&wwvQblA>S8Q5HR#t39R540IP*FWS
下载地址:csdn站下载
或者
“鸡术有限”公众号回复“base”获取