BugKu-CTF(解密篇Crypto)--where is flag 5

Gx8EAA8SCBIfHQARCxMUHwsAHRwRHh8BEQwaFBQfGwMYCBYRHx4SBRQdGR8HAQ0QFQ==

得到一串密文,一看就是base64,但是工具解不出来,用python是可以的


import base64
str = "Gx8EAA8SCBIfHQARCxMUHwsAHRwRHh8BEQwaFBQfGwMYCBYRHx4SBRQdGR8HAQ0QFQ=="
str =base64.b64decode(str)
print(str)

 得到一串看似十六进制的内容
b'\x1b\x1f\x04\x00\x0f\x12\x08\x12\x1f\x1d\x00\x11\x0b\x13\x14\x1f\x0b\x00\x1d\x1c\x11\x1e\x1f\x01\x11\x0c\x1a\x14\x14\x1f\x1b\x03\x18\x08\x16\x11\x1f\x1e\x12\x05\x14\x1d\x19\x1f\x07\x01\r\x10\x15'


把x去掉(丢word里替换一下,比写脚本快)

1b 1f 04 00 0f 12 08 12 1f 1d 00 11 0b 13 14 1f 0b 00 1d 1c 11 1e 1f 01 11 0c 1a 14 14 1f 1b 03 18 08 16 11 1f 1e 12 05 14 1d 19 1f 07 01 10 15

b、f不属于ascii码里的东西、字母前面只有1、0提取出来
110001011101011100111110101111101011111011110011
转ascii码 七位转一个
b u g k u { c


import base64
str = "Gx8EAA8SCBIfHQARCxMUHwsAHRwRHh8BEQwaFBQfGwMYCBYRHx4SBRQdGR8HAQ0QFQ=="
str = base64.b64decode(str)
l = [bin(i).replace("0b", "") for i in str]
print(l)

补全0
import base64
str = "Gx8EAA8SCBIfHQARCxMUHwsAHRwRHh8BEQwaFBQfGwMYCBYRHx4SBRQdGR8HAQ0QFQ=="
str = base64.b64decode(str)
l = [bin(i).replace("0b", "") for i in str]
l = ["0"*(5-len(i))+i if(len(i) != 5) else i for i in l]
print(l)

借鉴肖萧然大佬的博客
import base64
str = "Gx8EAA8SCBIfHQARCxMUHwsAHRwRHh8BEQwaFBQfGwMYCBYRHx4SBRQdGR8HAQ0QFQ=="
str = base64.b64decode(str)
l = [bin(i).replace("0b", "") for i in str]
l = ["0"*(5-len(i))+i if(len(i) != 5) else i for i in l]

for i in range(5):
    str = "".join([ii[i] for ii in l])
    print(*[chr(int(str[i:i+7], 2)) for i in range(0, len(str), 7)], sep="", end="")
bugku{ce26f61d40fea75fc0b980d7588e}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ch33syNai1a0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值