BugkuCTF:散乱的密文,凯撒部长的奖励,一段base64

散乱的密文

  • 题目描述:

                                 lf5{ag024c483549d7fd@@1}
                                 一张纸条上凌乱的写着2 1 6 5 3 4

  • 猜想1:24个字符,规则应该是123456,分为6组一组四个字符,类似于栅栏加密,这个想法验证过后不对
  • 猜想2:24个字符分为四组,按照 216534 的顺序进行读取,然后按照123456的顺序排序后组成序列,之后再进行对于栅栏加密的解密,4个字符为一组,写个脚本:
str_ciphertext = "lf5{ag024c483549d7fd@@1}"
str_temp = ""
key = "216534"
str_plaintext = ""
k = 1
while k <= 6:
    for j, elem in enumerate(key):  # j用来控制密文的下标,k控制顺序是123456
        if k == int(elem):
            str_temp += str_ciphertext[j] + str_ciphertext[j + 6] + str_ciphertext[j + 12] + str_ciphertext[j + 18]
            k += 1
            break
print(str_temp)  # 栅栏密码,4个字符为一组,进行抽取,之后可以得到明文
for i in range(0, 4):
    str_plaintext += str_temp[i] + str_temp[i + 4] + str_temp[i + 8] + str_temp[i + 12] + str_temp[i + 16] + str_temp[i + 20]
print(str_plaintext)
  • 结果为,提交时要去掉两个@@,它们只是用来填充用的字符:

                                               

 

凯撒部长的奖励

  • 题目描述:
    就在8月,超师傅出色地完成了上级的特遣任务,凯撒部长准备给超师傅一份特殊的奖励,兴高采烈的超师傅却只收到一长串莫名的密文,超师傅看到英语字串便满脸黑线,帮他拿到这份价值不菲的奖励吧。
    密文:MSW{byly_Cm_sIol_lYqUlx_yhdIs_Cn_Wuymul_il_wuff_bcg_pCwnIl_cm_u_Yrwyffyhn_guh_cz_sio_quhn_ni_ayn_bcm_chzilguncihm_sio_wuh_dich_om}
  • 猜想:如果根据题目所说,凯撒加密,直接去Bugku的解密工具,找到凯撒加密:

 

一段base64

  • Base64 to Text,之后选择    复制输出到输入:              
  • unescape,之后复制输出到输入:
  • Hex To Text,之后复制输出到输入:
  • unescape,之后复制输出到输入:
  • Dec To Text,之后复制输出到输入,StringfromCharCode是js的一个函数,可以将一堆数字转化为字符串:
  • 我的编码转化之后,因为我直接连着上一步的StringfromCharCode也一起复制到输入了,所以开头少了'&'结尾少了';',  添加上之后选择,Decode HTML:

    得到的最后的unicode码为:
    &#102;&#108;&#97;&#103;&#37;&#55;&#66;&#99;&#116;&#102;&#95;&#116;&#102;&#99;&#50;&#48;&#49;&#55;&#49;&#55;&#113;&#119;&#101;&#37;&#55;&#68;

     

  • 最后进行unicode编码转ASCII

      其中的 %7B是'{'         %7D是 '}'

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值