Misc-如来十三掌WriteUp

如来十三掌

在这里插入图片描述

夜哆悉諳多苦奢陀奢諦冥神哆盧穆皤三侄三即諸諳即冥迦冥隸數顛耶迦奢若吉怯陀諳怖奢智侄諸若
奢數菩奢集遠俱老竟寫明奢若梵等盧皤豆蒙密離怯婆皤礙他哆提哆多缽以南哆心曰姪罰蒙呐神。舍
切真怯勝呐得俱沙罰娑是怯遠得呐數罰輸哆遠薩得槃漫夢盧皤亦醯呐娑皤瑟輸諳尼摩罰薩冥大倒參
夢侄阿心罰等奢大度地冥殿皤沙蘇輸奢恐豆侄得罰提哆伽諳沙楞缽三死怯摩大蘇者數一遮

题目分析

打开文件,是上面的一段文字,像是佛教的文字,一开始也不懂,查资料知道这题考察的是"与佛论禅解密",用在线解密网站解密
在这里插入图片描述
与佛论禅解密后得到一个字符串

MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9

看到字母和数字,尝试base64解密,解密出来是乱码,显然不对。
我没想到是rot13,(做这道题时都不知道这个加密算法),查资料发现这串字符串是经过了一次rot13加密(怎么看出来呢,我觉得就是猜,也没给什么提示啊),然后又经过一次base64编码,rot13解密可以自己写脚本,也可以用在线解密。
写一段脚本得到flag

import base64

def rot13_code(crypt_str,shift):
    # crypt_str = list(crypt_str)
    flag = ""
    num = int(shift)
    for ch in crypt_str:
        ch = ord(ch)
        if ord('a') <= ch <= ord('z'):
            ch += num
            if ch > ord('z'):
                ch -= 26

        if ord('A') <= ch <= ord('Z'):
            ch += num
            if ch > ord('Z'):
                ch -= 26
        flag += chr(ch)
    return flag

print(base64.b64decode(rot13_code('MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9',13)))

运行结果:
b'flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}'

总结

考察"与佛论禅"、rot13、base64编码。对于自己的不了解的知识可以快速利用搜索引擎找资料学习一下,有些题目中并不是考察的所有知识都是知道的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值